从数据库填充表

时间:2015-01-22 14:36:18

标签: php html while-loop

我正在尝试使用从函数接收的查询结果填充表。我能够填充表格,但我的表格标题在每一行中都不断重复。我能以任何方式阻止这种情况发生吗?

4 个答案:

答案 0 :(得分:1)

您需要将表头放在while循环之外:

echo '<table border="1" style="width:100%">';
           echo '<tr><td> Dep</td><td> Style</td> <td> Colour</td><td> Description</td> <td> Price</td></tr>';
        while($row = mysql_fetch_assoc($get5star)){

           echo'<tr><td> '.$row['departmentid']. '</td><td>'.$row['style']. '</td> <td> '.$row['colour']. '</td> <td> '.$row['description']. '</td> <td>'.$row['price'].'</td> </tr>';

           }
echo '</table>';

答案 1 :(得分:0)

因为你的桌子的头部位于循环内部 你应该这样做 例如,我们得到书名和作家姓名:

    <table>
<thead>
<th>book></th>
<th>writer</th>
</thead>
<tbody>
<?php 
while($row = mysql_fetch_assoc($get5star)){


           echo'
<tr><td> '.$row['book']. '</td><td>'.$row['writer']. '</td> </tr>
';

           }
?>
</tbody>
</table>

答案 2 :(得分:0)

  

但是我的表头不断重复每一行

那是因为它在循环中。循环的一般结构是:

(stuff that happens once)
while (some condition) {
    (stuff that happens many times)
}
(stuff that happens once)

如果UI表标题只发生一次(它应该发生),那么它需要进入其中一个(stuff that happens once)位置。在这种情况下,第一个:

// happens once
echo '<table border="1" style="width:100%">';
echo '<tr><td> Dep</td><td> Style</td> <td> Colour</td><td> Description</td> <td> Price</td></tr>';

while($row = mysql_fetch_assoc($get5star)){
    // happens many times
    echo'<tr><td> '.$row['departmentid']. '</td><td>'.$row['style']. '</td> <td> '.$row['colour']. '</td> <td> '.$row['description']. '</td> <td>'.$row['price'].'</td> </tr>';
}

// happens once
echo '</table>';

答案 3 :(得分:0)

你在循环中有表头代码:

while($row = mysql_fetch_assoc($get5star)){
   echo '<tr><td> Dep</td><td> Style</td> <td> Colour</td><td> Description</td> <td> Price</td></tr>';

你应该把它放在while循环之外,如下所示:

echo '<table border="1" style="width:100%">';
echo '<tr><td> Dep</td><td> Style</td> <td> Colour</td><td> Description</td> <td> Price</td></tr>';
   while($row = mysql_fetch_assoc($get5star)){
       echo'<tr><td> '.$row['departmentid']. '</td><td>'.$row['style']. '</td> <td> '.$row['colour']. '</td> <td> '.$row['description']. '</td> <td>'.$row['price'].'</td> </tr>';
           }
echo '</table>';

值得注意的是,您不应该使用mysql来访问数据库。使用PDO(我更喜欢)或mysqli。