如何正确显示此表?

时间:2012-06-28 17:20:57

标签: php mysql html-table

我正在开发一个非常简单的网上商店,它应该在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>&euro;'.htmlspecialchars($row['price']).'</h6></div></div>';

    echo '<table><tr><td>'.$artikel.'</td>';
    echo '</table>';
}

3 个答案:

答案 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>&euro;'.htmlspecialchars($row['price']).'</h6></div></div>';
            echo '<tr><td>'.$artikel.'</td></tr>';
       }
       echo '</table>';
   }