【问题标题】:How can I display this table correctly?如何正确显示此表?
【发布时间】:2018-06-19 04:06:37
【问题描述】:

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

【问题讨论】:

  • 使用 PDO 和 fetchAll(PDO::FETCH_ASSOC)

标签: php mysql html-table


【解决方案1】:

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

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

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

【讨论】:

  • 不,不是,这正是我的问题。我的目标是显示一个 2 x 4 的表格,但我不知道如何以这种方式显示它..
  • @Thakkennes 如果您的div 具有固定尺寸,则不需要表格,只需浮动它们或使用display:inline-block
  • 如果我这样做,它会创建一个 2 x 4 的表吗?对不起,我对 PHP 比较陌生(虽然这是 HTML 和 CSS)。
  • @Thakkennes 我认为您需要在 css / html 中执行此操作,只需将您拥有的内容放入包含 div 的内容中,并使用您想要的宽度并将文章 div 的左侧浮动会有你想要的网格。
  • 好的,我去试试,谢谢! 编辑:成功了!非常感谢!
【解决方案2】:

如果这是您的全部代码,那么您缺少 tr 标记。 可能是您的布局发生变化的一个原因。

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

【讨论】:

    【解决方案3】:

    您可以为每条记录使用一行,而不是为每条记录创建新表。

      $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>';
       }
    

    【讨论】:

    • 这会将每个$artikel 放在单独的行中。 OP 希望它在 2x4 表中
    • @Zoltan :这个 $artikel 没有足够的数据来表示为 2x4 表。你不这么认为
    • 抱歉,不清楚。我的意思是所有$artikel-s 在一个 2x4 表中,而不仅仅是一个
    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多