Jeg har denne kode
<?php
function writeShoppingCart() {
$cart = $_SESSION['cart'];
if (!$cart) {
return '<p><font face="Arial,Verdana,times New Roman" color="#FFFFFF" size="-1">0 varer</font></p>';
} else {
$items = explode(',',$cart);
return '<a href="cart.php">Se kurv ('.count($items).')</a>';
}
}
function showCart() {
global $db;
$cart = $_SESSION['cart'];
if ($cart) {
$items = explode(',',$cart);
$contents = array();
foreach ($items as $item) {
$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
}
$output[] = '<form action="cart.php?action=update" method="post" id="cart">';
$output[] = '<table style="font-family:Arial,Verdana,Times New Roman" style="font-size:16px" style="color:#000000">';
foreach ($contents as $id=>$qty) {
$sql = "select * from varebeskrivelse, vareoversigt where vareoversigt.id = '.$id'";
$result = $db->query($sql);
$row = $result->fetch();
extract($row);
$output[] = '<tr>';
$output[] = '<td><a href="cart.php?action=delete&id='.$id.'" class="r">Remove</a></td>';
$output[] = '<td><img src="$row[Billede]">'.$row["VareNr"].', '.$row["VareNavn"].', '.$row["Størrelse"].'</td>';
$output[] = '<td>£'.$row["Pris"].'</td>';
$output[] = '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="3" maxlength="3" /></td>';
$output[] = '<td>£'.($row["Pris"] * $qty).'</td>';
$total += $row["Pris"] * $qty;
$output[] = '</tr>';
}
$output[] = '</table>';
$output[] = '<p>Grand total: <strong>£'.$total.'</strong></p>';
$output[] = '<div><button type="submit">Opdatér kurv</button></div>';
$output[] = '</form>';
} else {
$output[] = '<p>Kurven er tom</p>';
}
return join('',$output);
}
?>
Men der kommer følgende fejl:
"Warning: extract()[function.extract]:first argument should be an array in *sti* on line 30"
Jeg formoder fejlen befinder sig i følgende del af koden:
$sql = "select * from varebeskrivelse, vareoversigt where vareoversigt.id = '.$id'";
$result = $db->query($sql);
$row = $result->fetch();
extract($row);
Linje 30 er "extract($row);".
Nogen der kan hjælpe?