buongiorno,
ho un problema, ho due prodotti:
prodotto A
prodotto B
se aggiungo prodotto A al carrello con una quantità di 4 per esempio, il carrello me lo stampa giusto,
se a sua volta dopo aver aggiunto A al carrello aggiungo B con quantità di 6, il carrello mi stampa a video che sia A che B hanno quantità 6
come mai?
inoltre se eliimino uno dei due prodotti dal carrello l'altro presente ancora nel carrello rimane scritto però si azzerano prezzo e quantità...
questo è il codice in cui io aggiungo un prodotto al carrello e a seguire ho postato il codice in cui io leggo il prodotto nel carrello
Codice PHP:
<?php
session_start();
$nomeprodotto=$_GET['nome'];
$prezzoprodotto=$_GET['prezzo'];
$quantita=$_POST['quant'];
$_SESSION['carrello'][$nomeprodotto]++;
header("Location:carrello.php?quantita=$_POST[quant]");
?>
Codice PHP:
connessione al db.......
$quanti=$_GET['quantita'];
echo "if($_SESSION['carrello']) {
echo"
<table cellspacing=\"10px\" style=\"text-align:center;padding:3px;width:100%;font-size:12px;font-family:Verdana\">
<tr>
<th style=\"align:center;background-color:#ffffff;color:#41a62a;\">Nome prodotto</th>
<th style=\"align:center;background-color:#ffffff;color:#41a62a;\">Numero bottiglie a scatola</th>
<th style=\"align:center;background-color:#ffffff;color:#41a62a;\">Prezzo prodotto (€)</th>
<th style=\"align:center;background-color:#ffffff;color:#41a62a;\">Quantità</th>
</tr>";
foreach($_SESSION['carrello'] as $nome => $prezzo) {
$sql = "SELECT * FROM prodotto WHERE nome = '$nome' " ;
$result = mysql_query($sql);
$n_elementi=count($_SESSION['carrello']);
if(mysql_num_rows($result) > 0) {
list($ide, $name, $no_bott, $price) = mysql_fetch_row($result);
$num_bott=$no_bott;
$line_cost = $num_bott * $price;
$line_cost = $line_cost * $quanti;
$total = $total + $line_cost;
echo "<tr>";
echo "<td align=\"center\">$name</td>";
echo "<td align=\"center\">$num_bott</td>";
echo "<td align=\"center\">$line_cost</td>";
echo "<td align=\"center\">$quanti <a id=\"svuota_carrello\" href=\"canc_prod.php?nome=$nome\">Elimina</a></td>";
echo "</tr>";
}
}
echo "<tr>";
echo "<td colspan=\"4\" align=\"right\"><a id=\"svuota_carrello\" href=\"svuota_carrello.php\" onclick=\"return confirm('Sei sicuro di svuotare il carrello?');\">Svuota carrello</a></td>";
echo "</tr>";
echo "</table>";
echo "
Sono presenti: $n_elementi prodotti nel carrello
[b]Totale[/b] dell'ordine: $total €</p>";
}
se può servire qui c'è pure il codice di quando cancello un prodotto (canc_prod.php)
Codice PHP:
<?php
session_start();
$nomeprodotto=$_GET['nome'];
$_SESSION['carrello'][$nomeprodotto]--;
if($_SESSION['carrello'][$nomeprodotto] == 0) unset($_SESSION['carrello'][$nomeprodotto]);
header("Location:carrello.php");
?>
ho postato il codice perchè tanto sicuramente me lo avreste chiesto quindi tanto vale farlo subito
grazie degli eventuali aiuti... e della pazienza