PHP表:我正在尝试为我网站中的每个mysql表行创建新行

时间:2012-09-08 00:43:33

标签: php mysql html loops

基本上我从1行的mysql中检索数据并使它看起来像带有边框和东西的表但是我希望它重复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>"; 

2 个答案:

答案 0 :(得分: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>";

答案 1 :(得分:1)

只需将表格标签移出循环。

echo '<table>';

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

echo '</table>';