2013-10-16 64 views
0

你好我正在做一個購物商店項目,我試圖顯示我的產品就像一個購物車頁面。我做了一個列表視圖,它顯示了所有垂直格式的產品。我有想法以表格形式顯示每行4-5個產品,就像在真實世界的購物網站上一樣,但我無處可去。 我的代碼是:Php list to表格視圖

<?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; 
?> 
+2

如果您希望所有項目都像表格一樣列出,在相同的水平位置具有相同類型的元素,最好使用表格。 –

+0

我試過它顯示一些無意義的輸出,或者我無法正確執行。 – user2125727

回答

2

如果你想顯示它以表格的形式,你可以只使用表。它是爲這樣的事情創建的。剛做這樣的事情:

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

如果你想用李您可以修復它的寬度,使用CSS這個(李{寬度x像素;}),其中x是行(UL的容器)寬度劃分按列數。例如,如果你想要每行5個產品,並且你的ul(和ul)以上的容器的寬度是1000px,那麼就用200px來做li。不要忘記填充和邊距。

+0

是的,只是正確的指導... – user2125727

+0

我修改過的代碼 - 在最後如果你應該設置$ i = 0。你會看到:) – Choinek