din session indkøbs kurv indeholder alt for meget, gem kun det mest nødvendige i din session
som splazz skriver i #4 (*) "netop varens id og antal.". dette blev ilusteret i #22 (*) af jakobdo, hvilke også er måden man bør gøre det på
(*) ref
http://www.eksperten.dk/spm/1001765 noget ala
(utested)
lav en function der retunerer vare info
// retunerer som minimum vare_navn, vare_stk_pris
function vare_Read($conn, $id){
sql ="SELECT * FROM vare WHERE id = $id";
$rs = $conn->query($sql);
$ar = $rs->fetch_assoc();
return $ar;
}
du kan hjælpe dig selv ved at dele din opgave op i del opgaver, hvilke mange gange kunne være functioner
dit session array kunne se sådan ud
[kurv] => Array
(
[5] => Array
(
[id] => 5
[antal] => 2
)
[7] => Array
(
[id] => 7
[antal] => 4
)
)
mere er ikke nødvendigt, resten kan du hente fra db når du udskriver
(utested)
//vis kurv:
foreach($_SESSION['kurv'] as $vare){
$vare_info= vare_Read($conn, $vare['id']);
echo "vare navn er " . $vare_info['vare_navn']."<br>";
echo "vare pris er " . $vare['antal'] * $vare_info['vare_stk_pris']."<br>";
}
hvorfor anvender du stadig det gamle sql API ??
dette bliver fjernet fra PHP i kommende vertioner, og så vil din nuværende sql code ikke virke.
http://php.net/manual/en/mysqlinfo.api.choosing.phpdu burde få en fejl i din mysql-connect, hvis du har slået error_reporting og display_errors til, hvilke du bør under udvikling
ref
http://php.net/manual/en/function.mysql-connect.php
Warning
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_connect()
PDO::__construct()