Php 仅显示特定级别的用户

Php 仅显示特定级别的用户,php,mysql,arrays,fetch,Php,Mysql,Arrays,Fetch,我正在显示用户信息列表。用户设置在不同的级别(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>

我正在显示用户信息列表。用户设置在不同的级别(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>


您需要在while循环中放入if语句来检查用户级别

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

您可以通过两种方式进行过滤:

  • 直接在查询中,如@Fred所示
  • 获取记录集后:


尝试将该行放入
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*/?>


请已在PHP7中删除。了解使用和考虑PDO的语句,.<代码>,其中UsReLead=1 或在<代码>中/如果等于< /代码>。来吧,你可以这样做。在查询中按照@Fred ii-所说的那样做,或者你可以测试你返回的每一行
if(1==$rrows['user_level']){//echo the table rows}
等等@杰布兰查德;-)你在3…2…1盛宴中@JayBlanchard的钱是对的!!为什么OP要“尝试”这个?一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了SO的未来访客。不,所有的感谢都来自Webomatik。我所做的只是根据你的问题下的评论编辑他的帖子:)
<?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*/?>