1

我正在开发一个非常简单的网上商店,它应该在 2 <td>x 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>';
}
4

3 回答 3

1

为什么它会显示一个 2 x 4 的表格?

您将每个产品放在自己的表中,因此首先要做的是将table标签移出循环,然后您需要添加逻辑以在每个x产品之后添加新行。

虽然您似乎不需要表格,因为您的div尺寸固定,所以您可以摆脱表格并使用 css 来获得您想要的网格。

于 2012-06-28T17:25:41.990 回答
0

如果这是您的整个代码,那么您缺少 tr 标签。可能是您的布局转移的一个可能原因。

我建议不要使用中断,而是使用多个 div(或表格布局,如果您更喜欢的话),因为在所有浏览器中中断的处理方式并不总是相同的。

于 2012-06-28T17:31:37.660 回答
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>';
   }
于 2012-06-28T17:39:46.760 回答