2016-08-23 52 views
-1

我已经使用允许我将用户上传到数据库的教程制作了此代码。整件事情效果很好,但唯一的问题是,它开始反复显示同一用户2,该列表开始扩展5我添加的每个用户......可能导致此问题的原因是什么?用户列表创建重复?

项指标,规定了整个名单:

<h2>Names:</h2> 
 
\t <table border='1'> 
 
\t \t <tr> 
 
\t \t \t <th>ID</th> 
 
\t \t \t <th>Username</th> 
 
\t \t </tr> 
 
\t \t 
 
\t \t <?php 
 
\t \t \t $sql_list = "SELECT * FROM names ORDER BY username ASC"; 
 
\t \t \t $results = mysqli_query($db, $sql_list) or die(mysql_error()); 
 
\t \t \t $names = ""; 
 
\t \t \t \t \t \t 
 
\t \t \t if(mysqli_num_rows($results) > 0) { 
 
\t \t \t \t while($row = mysqli_fetch_assoc($results)) { 
 
\t \t \t \t \t $id = $row['id']; 
 
\t \t \t \t \t $user = $row['username']; 
 
\t \t \t \t \t 
 
\t \t \t \t \t $names .= "<tr><td>$user</td></tr>"; 
 
\t \t \t \t \t echo $names; 
 
\t \t \t \t } 
 
\t \t \t } else { 
 
\t \t \t \t echo "No Users Found"; 
 
\t \t \t } 
 
\t \t ?> 
 
\t </table>

+0

执行下列任一答案的为你工作? – chris85

回答

1

要么output每次迭代的一个记录;或者构建整个HTML块,然后输出块。我认为,最简单的是:

while($row = mysqli_fetch_assoc($results)) { 
    $id = $row['id']; 
    $user = $row['username']; 
    echo "<tr><td>$user</td></tr>"; 
    } 

...另一种方法

<h2>Names:</h2> 
    <table border='1'> 
     <tr> 
      <th>ID</th> 
      <th>Username</th> 
     </tr> 

     <?php 
      $sql_list = "SELECT * FROM names ORDER BY username ASC"; 
      $results = mysqli_query($db, $sql_list) or die(mysqli_error($db)); 
      $names = ""; 

      if(mysqli_num_rows($results) > 0) { 
       while($row = mysqli_fetch_assoc($results)) { 
        $id = $row['id']; 
        $user = $row['username']; 

        $names .= "<tr><td>$user</td></tr>"; 
       } 
      } else { 
       $names = "No Users Found"; 
      } 
      echo $names; 
     ?> 
    </table> 

你也不能使用mysql_*功能与mysqli_*。见http://php.net/manual/en/mysqli.error.php。问题的

最简单的例子:https://eval.in/627250