2016-05-03 1 views
-2

Я показываю список информации о пользователях. Пользователи настроены на разных уровнях (1-5). Я только хочу, чтобы он отображал информацию для пользователей, которые являются уровнем 1. Вот в основном код.только показ определенных пользователей уровня

<?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> 

Как бы я сказал, чтобы отображать только информацию о пользователях, которые 'user_level' = '1'?

+0

Пожалуйста [прекратить использование '' mysql_ * функции] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Эти расширения] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http://en.wikipedia.org/ wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) и подумайте над использованием PDO, [это действительно довольно легко] (http://jayblanchard.net/demystifying_php_pdo.html). –

+1

'WHERE user_level = 1' или в' while/if equals to'. Давай, ты можешь это сделать. –

+1

Сделайте это в запросе, как говорит @ Fred-ii-, или вы можете проверить каждую возвращаемую строку с 'if (1 == $ rrows ['user_level']) {// эхо строк таблицы}' –

ответ

0

Вы можете фильтровать двумя способами:

  • непосредственно в запросе, как указано @fred
  • после загрузки набора записей:

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

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

Ничего себе, спасибо Джей! – ScudBud

+0

Нет, все спасибо Webomatik. Все, что я сделал, это отредактировать его сообщение, основанное на комментариях, сделанных по вашему вопросу :) –

0

Вам нужно будет поместить оператор if внутри цикла while, который проверяет уровень пользователя.

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

Попробуйте поставить строку на if, как в следующем коде. Это уродливая практика. Будет лучше, если вы используете условие в запросе mysql.

<?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

Зачем OP «попробуйте» это? *** Хороший ответ *** всегда будет объяснять, что было сделано и почему это было сделано таким образом, не только для OP, но и для будущих посетителей SO. –

+0

Я немного опоздал .. с редактированием. Ты прав. –