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