我正在开发一个非常简单的网上商店,它应该在2 <td>
到4 <tr>
的表格中回显不同的产品,但现在它只向下显示不同的产品。希望有人可以帮助我。
$result=mysql_query("select * from products");
while($row=mysql_fetch_array($result)) {
$artikel = '<div style="background-color:#E3E3E3;width:200px;height:200px;"><a href=""><img style="padding-top:10px;padding-left:25px;width:150px;height:150px;" src="'.htmlspecialchars($row['picture']).'"></a><br><div align="center"><b>'.htmlspecialchars($row['name']).'</b><br><h6>€'.htmlspecialchars($row['price']).'</h6></div></div>';
echo '<table><tr><td>'.$artikel.'</td>';
echo '</table>';
}
答案 0 :(得分:1)
为什么它会显示一个2乘4的表?
您将每个产品放在自己的表中,因此首先要做的是将table
标记移出循环,然后您需要添加逻辑以在每个{{1之后添加新行产品。
虽然您似乎不需要桌子,因为x
有固定的尺寸,所以你可以摆脱桌子并使用css来获得你想要的网格。
答案 1 :(得分:0)
如果这是你的整个代码,那么你就错过了一个tr标签。 可能是你布局转移的可能原因。
我建议不要使用中断,而是建议使用多个div(如果您对此更熟悉,则使用表格布局),因为在所有浏览器中,中断并不总是相同。
答案 2 :(得分:0)
不是为每条记录创建新表,而是每条记录使用一行。
$result=mysql_query("select * from products");
if(mysql_num_rows($result) > 0){
echo '<table>';
while($row=mysql_fetch_array($result)) {
$artikel = '<div style="background-color:#E3E3E3;width:200px;height:200px;"><a href=""><img style="padding-top:10px;padding-left:25px;width:150px;height:150px;" src="'.htmlspecialchars($row['picture']).'"></a><br><div align="center"><b>'.htmlspecialchars($row['name']).'</b><br><h6>€'.htmlspecialchars($row['price']).'</h6></div></div>';
echo '<tr><td>'.$artikel.'</td></tr>';
}
echo '</table>';
}