Php / Mysql - Displaying Only One Header For Items
I am working on a food website and have noticed an issue when I display the users cart, currently the table header is called per item which is taken from mySQL, which looks like th
Solution 1:
Just move the table and header tags outside of the loop.
Do something like:
<table><th></th> #define all table headers
for each item:
<tr><td>item info</td>...
</tr></table>
Solution 2:
use this
<?phpfunctioncart() {
foreach($_SESSIONas$name => $value) {
if ($value>0){
if (substr($name, 0, 5)=='cart_') {
$id = substr($name, 5, (strlen($name)-5));
$get = mysql_query('SELECT id, name, price FROM products WHERE id='.mysql_real_escape_string((int)$id));?><center><tableclass='menufinal'border=0width=75%><th>Remove Item</th><th>Item Name</th><th>Item Price</th><th>Quantity</th><th>Line Total</th><?phpwhile ($get_row = mysql_fetch_assoc($get)) {
$sub = $get_row['price']*$value;?><tr><td><?echo'<a href="cart.php?delete=' .$id.'"><img src="x.png"></a><br>'?></td><td><?echo$get_row['name']?></td><td><?echo'£' . number_format($get_row['price'], 2);?></td><td><?echo'<a href="cart.php?remove=' .$id. '"style="text-decoration:none">- </a>' .$value. '<a href="cart.php?add=' .$id. '"style="text-decoration:none"> +</a>'?></td><td><?echo'£ ' . number_format($sub, 2);?></td></tr><?
}
}
if (empty($total)) {
if (empty($sub)) {
//do nothing
} else {
$total = $sub;
}
} else {
$total += $sub;
}
}
}
if (!empty($total)){
echo'<br>Total: £' . number_format($total, 2) . '<br>';
echo'<div id="dorc"><p><a href="index.php"><img src="dishes.png" width="240" height="152"></a> <img src="spacer.png" width="200"> <a href="checkout.php"><img src="checkout.png" width="240" height="152"></a>';
}
else {
header ('Location: index.php');
}
}
Post a Comment for "Php / Mysql - Displaying Only One Header For Items"