4

基本的に、mysqlから1行でデータを取得し、境界線などのあるテーブルのように見せましたが、mysqlテーブルのすべての行で繰り返したいと思います。これまでに使用した次のコードは次のとおりです。

while($info = mysql_fetch_array( $data )) 
 { 
 echo "<table width='1000' cellpadding='10' cellspacing='5' border='1'>"; 

 echo "<tr>


    <td><center><b>".$info['id']."</td></center></b>"."<td><center><b>".$info['username']."</td></center></b>"."<td><center><b>".$info['kills']."</td></center></b>"."<td><center><b>".$info['deaths']."</td></center></b>"."<td><center><b>".$info['ratio']."</td></center></b></tr>"; 

 echo "</table>"; 
 } 

アップデート:

 echo "<table width='1000' cellpadding='10' cellspacing='5' border='1'>"; 
 while($info = mysql_fetch_array( $data )) 
 { 
 echo "<tr> 
    <td><center><b>".$info['id']."</td></center></b>"."<td><center><b>".$info['username']."</td></center></b>"."<td><center><b>".$info['kills']."</td></center></b>"."<td><center><b>".$info['deaths']."</td></center></b>"."<td><center><b>".$info['ratio']."</td></center></b></tr>"; 

 } 
 echo "</table>"; 
4

2 に答える 2

5

データの行をフェッチするループの外側にテーブル タグが必要です。

echo "<table width='1000' cellpadding='10' cellspacing='5' border='1'>"; 
while($info = mysql_fetch_array( $data )) 
{ 
    echo "<tr>
    <td><center><b>".$info['id']."</td></center></b>"."<td><center><b>".$info['username']."</td></center></b>"."<td><center><b>".$info['kills']."</td></center></b>"."<td><center><b>".$info['deaths']."</td></center></b>"."<td><center><b>".$info['ratio']."</td></center></b></tr>"; 
} 
echo "</table>"; 

あなたは PHP に慣れていないので、おそらくこれをもう少し拡張する必要があります。

コードは、テーブルの開始タグをエコーアウトします。

<table width='1000' cellpadding='10' cellspacing='5' border='1'>

次に、while ループに入り、見つかったすべての行をエコー出力します。

<tr><td><center><b>Something1></b></td></tr> // shortened for example.
<tr><td><center><b>Something2></b></td></tr>
<tr><td><center><b>Something3></b></td></tr>
<tr><td><center><b>Something4></b></td></tr>

次に、ループが存在すると、テーブルの終了タグを出力します。

</table>

以前は、データの各行ごとにテーブルを出力していました。今後の参考のために、ソース コードを調べて何が起こっているのかを理解することをお勧めします。

編集: コードのコメントを調べていたときに、何が起こっているのかを確認するために、よりきれいにフォーマットしました。次のフォーマットにすることで、コードを読みやすくすることができます。

echo "<table width='1000' cellpadding='10' cellspacing='5' border='1'>"; 
while($info = mysql_fetch_array( $data )) 
{ 
    echo "<tr> 
        <td><center><b>".$info['id']."</b></center></td>
        <td><center><b>".$info['user‌​name']."</b></center></td>
        <td><center><b>".$info['kills']."</b></center></td>
        <td><center><b>".$info['deaths']."</b></center></td>
        <td><center><b>".$info['‌​ratio']."</b></center></td>
        </tr>"; 
} 
echo "</table>";
于 2012-09-08T00:45:22.070 に答える
1

テーブルタグをループの外に移動するだけです。

echo '<table>';

foreach( $row )
{
  echo '<tr>....</tr>';
}

echo '</table>';
于 2012-09-08T00:45:31.603 に答える