2016-08-23 4 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ブロック全体を構築してブロックを出力することができます。私は、最も簡単なのだと思う:

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

はまた、あなたが mysqli_*mysql_*機能を使用することはできません

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

...別のアプローチ。 を参照してください。

問題の最も簡単な例:https://eval.in/627250

関連する問題