Salve, sto creando un carrello, però sto sfruttando il database, cioè quando l'utente aggiunge un prodotto al carrello lo salva in una tabella temporanea, che verrà eliminata al momento dell'acquisto, altrimenti rimarrà sempre il prodotto nella tabella associato all'username dell'utente che è unico. Ora ho una pagina carrello.php dove contiene il form per aggiungere o eliminare le quantità del prodotto, tutto funziona correttamente se faccio elaborare il tutto inviando i dati del form ad una pagina differente(agg_carrello.php), però vorrei elaborare tutto nella stessa pagina, cioè aggiungendo una quantità deve aggornarmi la stessa pagina con le nuove quantità.
Avevo pensato allo switch, però non so bene come funziona, intanto vi posto il codice che mi funziona nella pagina agg_carrello.php
Ora vi do il codice che ho cercato di creare con lo switch, ma non funziona, in pratica è lo stesso della pagina agg_carrello.php ma con lo switch:
$_POST['carrello'];
è il nome del form.
Nel form poi ho inserito questo nell'action: carrello.php?action=aggiungi
Grazie per qualsiasi aiuto :fonzie:
Avevo pensato allo switch, però non so bene come funziona, intanto vi posto il codice che mi funziona nella pagina agg_carrello.php
PHP:
session_start();
require_once('site/config.php');
$sql = "SELECT * FROM carrello_sos WHERE username= '$username'";
$res = mysql_query($sql);
while ($row=mysql_fetch_assoc($res)) {
$quantita1 = $row['quantita'];
$num = $_POST['quantita'];
$som = $num + $quantita1;
$sql = "UPDATE carrello_sos SET quantita = $som WHERE username = '$username'";
mysql_query($sql);
}
$sql1 = "SELECT * FROM carrello_sos WHERE username= '$username'";
$res1 = mysql_query($sql1);
while ($row1=mysql_fetch_assoc($res1)) {
$id_prodotto = $row1['id_prodotto'];
$nome_serv = $row1['nome_serv'];
$desc_prodotto = $row1['descrizione'];
$prezzo_prod = $row1['prezzo'];
$quantita = $row1['quantita'];
}
$totale = $prezzo_prod * $quantita;
?>
Ora vi do il codice che ho cercato di creare con lo switch, ma non funziona, in pratica è lo stesso della pagina agg_carrello.php ma con lo switch:
PHP:
$action = $_POST['carrello'];
switch ($action)
{
case 'aggiungi':
$sql = "SELECT * FROM carrello_sos WHERE username= '$username'";
$res = mysql_query($sql);
while ($row=mysql_fetch_assoc($res)) {
$quantita1 = $row['quantita'];
$num = $_POST['quantita'];
$som = $num + $quantita1;
$sql = "UPDATE carrello_sos SET quantita = $som WHERE username = '$username'";
mysql_query($sql);
}
$sql1 = "SELECT * FROM carrello_sos WHERE username= '$username'";
$res1 = mysql_query($sql1);
while ($row1=mysql_fetch_assoc($res1)) {
$id_prodotto = $row1['id_prodotto'];
$nome_serv = $row1['nome_serv'];
$desc_prodotto = $row1['descrizione'];
$prezzo_prod = $row1['prezzo'];
$quantita = $row1['quantita'];
}
$totale = $prezzo_prod * $quantita;
}
$id =$_POST["id"];
$sql = "SELECT * FROM prodotti WHERE id= '$id'";
$res = mysql_query($sql);
while ($row=mysql_fetch_assoc($res)) {
$nome = $row['nome'];
$descrizione = $row['descrizione'];
$prezzo = $row['prezzo']; }
$quant = 1;
$database = "INSERT INTO carrello_sos (id_prodotto, username, nome_serv, descrizione, prezzo, quantita) VALUES ('$id', '$username', '$nome', '$descrizione', '$prezzo', $quant)";
$database2 = mysql_query($database);
if(!$database2) die(mysql_error());
$sql1 = "SELECT * FROM carrello_sos WHERE username= '$username'";
$res1 = mysql_query($sql1);
while ($row1=mysql_fetch_assoc($res1)) {
$id_prodotto = $row1['id_prodotto'];
$nome_serv = $row1['nome_serv'];
$desc_prodotto = $row1['descrizione'];
$prezzo_prod = $row1['prezzo'];
$quantita = $row1['quantita'];
}
$totale =$prezzo * $quantita;
?>
$_POST['carrello'];
è il nome del form.
Nel form poi ho inserito questo nell'action: carrello.php?action=aggiungi
Grazie per qualsiasi aiuto :fonzie: