Gå til innhold

Opplisting av brukere fungere ikke


Anbefalte innlegg

Skrevet (endret)

Hei, jeg holder på med et brukersystem å sliter med å få listet opp brukerene, jeg vil ha de i flere tabeller.

 

Jeg lister de opp etter brukernnr som er inndelt slik:

Admin: 100000 - 199999

Crew: 200000 - 299999

VIP: 300000 - 399999

Standardbruker: 400000 - 499999

 

Jeg får bare listet opp adminbrukerene med denne koden, noen som skjønner hvorfor?

 

<?php

$mat = "FALSE";
$sql = mysql_query("SELECT * FROM UMS_medlemmer ORDER BY medlnr");

echo '<table id="userlist">';
echo "<tr>\n <td colspan=\"10\">Administratorbrukarar:</td>\n </tr>\n";
echo '<tr>';
echo '<td width="70px"><strong>Medlemsnr:</strong></td>';
echo '<td width="400px"><strong>Namn:</strong></td>';
echo '<td width="200px"><strong>Adresse:</strong></td>';
echo '<td width="100px"><strong>Tlfnr:</strong></td>';
echo '<td width="400px"><strong>Epost:</strong></td>';
echo '<td width="200"><strong>Bustad:</strong></td>';
if ($mat === TRUE) {echo "<td><strong>Mat:</strong></td>";}
echo '<td colspan="3"><strong>Handlinger</strong></td>';
echo '</tr>';

   	while ($object = mysql_fetch_object($sql)) {
       
     if ($object->medlnr[0] == 1) {
     	echo "<tr>";
     	echo "<td>$object->medlnr</td>";
     	echo "<td>$object->namn <br>[$object->brukernamn]</td>";
     	echo "<td>$object->adresse</td>";
     	echo "<td>$object->tlfnr</td>";
     	echo "<td>$object->epost</td>";	
     	echo "<td>$object->bosted</td>";
     	if ($mat === TRUE) {echo "<td>$object->mat</td>";}
     	echo '<td><a href="#" title="Edit"><img border="0" src="http://dalalan.net/UMS/gfx/edit.png" alt="Edit"></a></td>';
     	echo '<td><a href="#" title="Delete"><img border="0" src="http://dalalan.net/UMS/gfx/delete.png" alt="Delete"></a></td>';
     	echo '<td><a href="#" title="Lock User"><img border="0" src="http://dalalan.net/UMS/gfx/lock.png" alt="Lock User"></a></td>';
     	echo "</tr>\n";
     	
     }
   }

echo "</table>";
echo '<table id="userlist">';
echo "<tr>\n <td colspan=\"10\">Crew-brukarar:</td>\n </tr>\n";
echo '<tr>';
echo '<td width="70px"><strong>Medlemsnr:</strong></td>';
echo '<td width="400px"><strong>Namn:</strong></td>';
echo '<td width="200px"><strong>Adresse:</strong></td>';
echo '<td width="100px"><strong>Tlfnr:</strong></td>';
echo '<td width="400px"><strong>Epost:</strong></td>';
echo '<td width="200"><strong>Bustad:</strong></td>';
if ($mat === TRUE) {echo "<td><strong>Mat:</strong></td>";}
echo '<td colspan="3"><strong>Handlinger</strong></td>';
echo '</tr>';

     while ($object = mysql_fetch_object($sql)) {
       
     if ($object->medlnr[0] == 2) {
     	echo "<tr>";
     	echo "<td>$object->medlnr</td>";
     	echo "<td>$object->namn <br>[$object->brukernamn]</td>";
     	echo "<td>$object->adresse</td>";
     	echo "<td>$object->tlfnr</td>";
     	echo "<td>$object->epost</td>";	
     	echo "<td>$object->bosted</td>";
     	if ($mat === TRUE) {echo "<td>$object->mat</td>";}
     	echo '<td><a href="#" title="Edit"><img border="0" src="http://dalalan.net/UMS/gfx/edit.png" alt="Edit"></a></td>';
     	echo '<td><a href="#" title="Delete"><img border="0" src="http://dalalan.net/UMS/gfx/delete.png" alt="Delete"></a></td>';
     	echo '<td><a href="#" title="Lock User"><img border="0" src="http://dalalan.net/UMS/gfx/lock.png" alt="Lock User"></a></td>';
     	echo "</tr>\n";
     	echo "</table>";
     }
   }

echo "</table>";
echo '<table id="userlist">';
echo "<tr>\n <td colspan=\"10\">VIP-brukarar:</td>\n </tr>\n";
echo '<tr>';
echo '<td width="70px"><strong>Medlemsnr:</strong></td>';
echo '<td width="400px"><strong>Namn:</strong></td>';
echo '<td width="200px"><strong>Adresse:</strong></td>';
echo '<td width="100px"><strong>Tlfnr:</strong></td>';
echo '<td width="400px"><strong>Epost:</strong></td>';
echo '<td width="200"><strong>Bustad:</strong></td>';
if ($mat === TRUE) {echo "<td><strong>Mat:</strong></td>";}
echo '<td colspan="3"><strong>Handlinger</strong></td>';
echo '</tr>';

     while ($object = mysql_fetch_object($sql)) {
       
     if ($object->medlnr[0] == 3) {
     	echo "<tr>";
     	echo "<td>$object->medlnr</td>";
     	echo "<td>$object->namn <br>[$object->brukernamn]</td>";
     	echo "<td>$object->adresse</td>";
     	echo "<td>$object->tlfnr</td>";
     	echo "<td>$object->epost</td>";	
     	echo "<td>$object->bosted</td>";
     	if ($mat === TRUE) {echo "<td>$object->mat</td>";}
     	echo '<td><a href="#" title="Edit"><img border="0" src="http://dalalan.net/UMS/gfx/edit.png" alt="Edit"></a></td>';
     	echo '<td><a href="#" title="Delete"><img border="0" src="http://dalalan.net/UMS/gfx/delete.png" alt="Delete"></a></td>';
     	echo '<td><a href="#" title="Lock User"><img border="0" src="http://dalalan.net/UMS/gfx/lock.png" alt="Lock User"></a></td>';
     	echo "</tr>\n";
     	echo "</table>";
     }
   }

echo "</table>";
echo '<table id="userlist">';
echo "<tr>\n <td colspan=\"10\">Standardbrukarar:</td>\n </tr>\n";
echo '<tr>';
echo '<td width="70px"><strong>Medlemsnr:</strong></td>';
echo '<td width="400px"><strong>Namn:</strong></td>';
echo '<td width="200px"><strong>Adresse:</strong></td>';
echo '<td width="100px"><strong>Tlfnr:</strong></td>';
echo '<td width="400px"><strong>Epost:</strong></td>';
echo '<td width="200"><strong>Bustad:</strong></td>';
if ($mat === TRUE) {echo "<td><strong>Mat:</strong></td>";}
echo '<td colspan="3"><strong>Handlinger</strong></td>';
echo '</tr>';

     while ($object = mysql_fetch_object($sql)) {
       
     if ($object->medlnr[0] == 4) {
     	echo "<tr>";
     	echo "<td>$object->medlnr</td>";
     	echo "<td>$object->namn <br>[$object->brukernamn]</td>";
     	echo "<td>$object->adresse</td>";
     	echo "<td>$object->tlfnr</td>";
     	echo "<td>$object->epost</td>";	
     	echo "<td>$object->bosted</td>";
     	if ($mat === TRUE) {echo "<td>$object->mat</td>";}
     	echo '<td><a href="#" title="Edit"><img border="0" src="http://dalalan.net/UMS/gfx/edit.png" alt="Edit"></a></td>';
     	echo '<td><a href="#" title="Delete"><img border="0" src="http://dalalan.net/UMS/gfx/delete.png" alt="Delete"></a></td>';
     	echo '<td><a href="#" title="Lock User"><img border="0" src="http://dalalan.net/UMS/gfx/lock.png" alt="Lock User"></a></td>';
     	echo "</tr>\n";
     	echo "</table>";
     }
   }
?>

Endret av Equerm
Videoannonse
Annonse
Skrevet
if ($object->medlnr[0] == 1) {

 

Dette kan da ikke stemme?

 

$obj->medlnr er vel ikke et array?

7055039[/snapback]

 

Det stemmer, faktisk, det er ikke er array nei men det henter ut det første tallet fra variabelen.

 

test f.eks

PHP

 

$var = "hm";

 

echo $var[0]; // output blir "h"

echo $var[1]; // output blir "m"

 

 

Gjest Slettet+142
Skrevet (endret)

PHP

<?php

 

if ($object->medlnr[0] == 4) {

echo "<tr>";

echo "<td>$object->medlnr</td>";

echo "<td>$object->namn <br>[$object->brukernamn]</td>";

echo "<td>$object->adresse</td>";

echo "<td>$object->tlfnr</td>";

echo "<td>$object->epost</td>";

echo "<td>$object->bosted</td>";

if ($mat === TRUE) {echo "<td>$object->mat</td>";}

echo '<td><a href="#" title="Edit"><img border="0" src="http://dalalan.net/UMS/gfx/edit.png" alt="Edit"></a></td>';

echo '<td><a href="#" title="Delete"><img border="0" src="http://dalalan.net/UMS/gfx/delete.png" alt="Delete"></a></td>';

echo '<td><a href="#" title="Lock User"><img border="0" src="http://dalalan.net/UMS/gfx/lock.png" alt="Lock User"></a></td>';

echo "</tr>\n";

echo "</table>";

 }else echo "<tr><td colspan='10'>Feil. Medlemsnr'et var ikke 4, det var ".$object->medlnr[0]."</td></tr>;

 

?>

 

prøv å erstatte den siste if'en med denne...

da vil du finne ut hvorfor/hva som gir feilmelding ;)

 

 

EDIT: og utenfor while'en legger du

 

PHP

<?php

echo '</table>';

?>

Endret av Slettet+142
Gjest Slettet+142
Skrevet (endret)

du har prøvd echo mysql_error(); sant?

 

PHP

<?php

 

if ($object->medlnr[0] == 4) {

echo "<tr>";

echo "<td>$object->medlnr</td>";

echo "<td>$object->namn <br>[$object->brukernamn]</td>";

echo "<td>$object->adresse</td>";

echo "<td>$object->tlfnr</td>";

echo "<td>$object->epost</td>";

echo "<td>$object->bosted</td>";

if ($mat === TRUE) {echo "<td>$object->mat</td>";}

echo '<td><a href="#" title="Edit"><img border="0" src="http://dalalan.net/UMS/gfx/edit.png" alt="Edit"></a></td>';

echo '<td><a href="#" title="Delete"><img border="0" src="http://dalalan.net/UMS/gfx/delete.png" alt="Delete"></a></td>';

echo '<td><a href="#" title="Lock User"><img border="0" src="http://dalalan.net/UMS/gfx/lock.png" alt="Lock User"></a></td>';

echo "</tr>\n";

echo "</table>";

 }else{ echo "<tr><td colspan='10'>";

 print_r(get_class_vars("stdClass"));

 echo "</td></tr>";

 }

 

?>

 

hmm.. prøve dette da?

Endret av Slettet+142
Gjest Slettet+142
Skrevet (endret)

den skulle ha listet opp variablene.. kan du prøve å kjøre en ny sql i ny fil?

 

PHP

<?

 

$res mysql_query("SELECT * FROM UMS_medlemmer ORDER BY medlnr");

 

$i 0;

while ($i mysql_num_fields($res)) {

 $data mysql_fetch_field($res$i);

 echo '<td>'.$data->name.'</td>';

 $i++;

}

 

echo "</tr></table>";

 

 

?>

 

da skal du få listet opp feltene...

 

EDIT: liten feil

Endret av Slettet+142
Skrevet

Synes ikke den "arraymetoden" er så veldig fin å bruke på tall, men det er jo så.

 

Uansetttttttttttt, grunnen til at dette ikke funker er fordi du glemmer at array_fetch_*-funksjonene avanserer en intern peker til resultatsettene.

Når du har kjørt den første loopen, så er du i enden av av disse interne pekerene.

 

Løsningen er å lagre alle dataene i den første loopen i et nytt array.

 

Capish? (eller må jeg vise?)

Skrevet
Synes ikke den "arraymetoden" er så veldig fin å bruke på tall, men det er jo så.

 

Uansetttttttttttt, grunnen til at dette ikke funker er fordi du glemmer at array_fetch_*-funksjonene avanserer en intern peker til resultatsettene.

Når du har kjørt den første loopen, så er du i enden av av disse interne pekerene.

 

Løsningen er å lagre alle dataene i den første loopen i et nytt array.

 

Capish? (eller må jeg vise?)

7055454[/snapback]

Hadde vert fint om du kunne vise :innocent:

Skrevet

PHP

<?php

 

$res mysql_query(....);

if( $res )

{

$objs = array();

// Denne loopen skal bare kjøres én gang

while( $obj mysql_fetch_object$res ) )

{

$objs[] = $obj;

}

 

// Denne loopen kan brukes så mange ganger du vil.

foreach( $objs as $obj )

{

echo $obj->medlnr;

}

}

?>

 

ok?

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...