0

您好,我正在 Php 中做一个购物商店项目。我正在尝试像购物车页面一样显示我的产品。我在列表视图中做到了,该列表视图以垂直格式显示所有产品在另一个下方。我有想法显示表格格式,每行有 4-5 个产品,就像在现实世界的购物网站中一样,但我无处可去。我的代码是:

<?php
$sql = 'SELECT * FROM burgers ORDER BY id';
$result = $db->query($sql);
$output = '<ul>';
while ($row = $result->fetch()) {
    $output .= '<li>"'.$row['title'].'" made by </br> '.$row['chef'].': Rs '.$row['price'].'<img src="images/'.$row['image'].'" width="100" height="100" /><br />';
    if (isset($_SESSION['username'])) {
        $output .= '<a href="cart.php?action=add&id='.$row['id'].'">Add to cart</a></li>';
    }
    else {
        $output .= '<a href="login.php">Login</a></li>';
    }
}
$output .= '</ul>';
echo $output;
?> 
4

1 回答 1

2

如果你想以表格格式显示它,你可以使用 table. 它是为这样的事情而创建的。只需执行以下操作:

$output = '<table><tr>';
$products_per_row = 5;
$i = 0;
while ($row = $result->fetch()) {
    $i++;
    $output .= '<td>"'.$row['title'].'" made by </br> '.$row['chef'].': Rs '.$row['price'].'<img src="images/'.$row['image'].'" width="100" height="100" /><br />';
    if (isset($_SESSION['username'])) {
        $output .= '<a href="cart.php?action=add&id='.$row['id'].'">Add to cart</a></td>';
    }
    else {
        $output .= '<a href="login.php">Login</a></td>';
    }
    if ($i == $products_per_row) { $output .= '</tr><tr>'; $i = 0; }
}
$output .= '</tr></table>';

如果你想使用 li 你可以固定它的宽度,为此使用 css (li { width: x px; } ),其中 x 是行(ul 的容器)宽度除以列数。例如,如果您想要每行 5 个产品,并且 ul(和 ul)上方的容器具有 1000px 宽度,则只需 li 使用 200px。不要忘记填充和边距。

于 2013-10-16T07:59:54.497 回答