2016-05-03 3 views
-2

Ich zeige eine Liste der Benutzerinformationen. Die Benutzer sind auf verschiedenen Ebenen (1-5) eingestellt. Ich möchte nur Informationen für Benutzer anzeigen, die Level 1 sind. Hier ist im Grunde der Code.nur bestimmte Benutzer Ebene

<?php while ($rrows = mysql_fetch_array($rs_results)) {?> 
    <tr> 
    <td><input name="u[]" type="checkbox" value="<?php echo $rrows['id']; ?>" id="u[]"></td> 
    <td><?php echo $rrows['date']; ?></td> 
    <td><?php echo $rrows['user_level']; ?></td> 
    <td><?php echo $rrows['user_name'];?></td> 
    <td><?php echo $rrows['user_email']; ?></td> 
    <td> <span id="approve<?php echo $rrows['id']; ?>"> 
     <?php if(!$rrows['approved']) { echo "Pending"; } else {echo "Active"; }?> 
     </span> </td> 
    <td><span id="ban<?php echo $rrows['id']; ?>"> 
     <?php if(!$rrows['banned']) { echo "no"; } else {echo "yes"; }?> 
     </span> 
    </td> 
    </tr> 

Wie würde ich sagen nur Informationen von Benutzern angezeigt werden, die ‚user_level‘ = ‚1‘ ist?

+0

Bitte [mit 'mysql_ *' Funktionen stoppen] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Diese Erweiterungen] (http://php.net/manual/en/migration70.removed-exts-sapis.php) wurden in PHP 7 entfernt. Erfahren Sie mehr [vorbereitet] (http://en.wikipedia.org/ (http://php.net/manual/en/pdo.prepared-statements.php) und [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) und erwäge die Verwendung von PDO, [es ist wirklich ziemlich einfach] (http://jayblanchard.net/demystifying_php_pdo.html). –

+1

'WHERE user_level = 1' oder in' while/if equals to'. Komm schon, du kannst das machen. –

+1

Tun Sie es in der Abfrage als @ Fred-ii- sagt, oder Sie können jede Zeile testen, die Sie zurückgeben mit 'if (1 == $ rrows ['user_level']) {// echo die Tabellenzeilen}' –

Antwort

0

könnten Sie auf zwei Arten filtern:

  • direkt in der Abfrage angezeigt, wie durch @Fred
  • nach dem Re-Cord-Abrufen:

while ($rrows = mysql_fetch_array($rs_results)){ 

     if ($rrows['user_level'] == 1){ 
     // display as previously 
+0

Wow, Danke Jay! – ScudBud

+0

Nein, allen Dank geht an Webomatik. Alles, was ich getan habe, war seinen Beitrag zu bearbeiten, basierend auf den Kommentaren, die unter deiner Frage gemacht wurden :) –

0

Sie müssten eine if-Anweisung in Ihre while-Schleife einfügen, die die Benutzerebene überprüft.

//php mysql while 
     If ($rrows['user_level'] == 1) {?> 
    //html code 
    }?> 
0

Versuchen Sie, die Zeile aufzu setzen 210 Block, wie im folgenden Code. Es ist hässliche Praxis. Wird besser sein, wenn Sie Bedingung in der MySQL-Abfrage verwenden.

<?php while ($rrows = mysql_fetch_array($rs_results)) {?> 
     <?if($rrows['user_level']==1){?> 
     <tr> 
     <td><input name="u[]" type="checkbox" value="<?php echo $rrows['id']; ?>" id="u[]"></td> 
     <td><?php echo $rrows['date']; ?></td> 
     <td><?php echo $rrows['user_level']; ?></td> 
     <td><?php echo $rrows['user_name'];?></td> 
     <td><?php echo $rrows['user_email']; ?></td> 
     <td> <span id="approve<?php echo $rrows['id']; ?>"> 
      <?php if(!$rrows['approved']) { echo "Pending"; } else {echo "Active"; }?> 
      </span> </td> 
     <td><span id="ban<?php echo $rrows['id']; ?>"> 
      <?php if(!$rrows['banned']) { echo "no"; } else {echo "yes"; }?> 
      </span> </td> 
    </tr> 
    <?} /*end if*/?> 
<?} /*end while*/?> 
+1

Warum sollte das OP das "ausprobieren"? Eine *** gute Antwort *** wird immer eine Erklärung haben, was getan wurde und warum es so gemacht wurde, nicht nur für das OP, sondern auch für zukünftige Besucher von SO. –

+0

Ich bin ein bisschen spät .. mit dem Bearbeiten. Du hast recht. –