buona estate a tutti,
oggi ho provato ad implementare il codice riportato di seguito
Codice PHP:
function mostraCarrello()
{
global $db;
$carrello = $_SESSION['carrello'];
$somma = 0;
if ($carrello)
{
$prodotti = @explode(',',$carrello);
$acquisti = array();
foreach ($prodotti as $prodotto)
{
$acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1 : 1;
}
$result[] = '<form action="carrello.php?action=aggiorna" method="post" id="cart">';
$result[] = '<table>';
foreach ($acquisti as $id=>$quantita)
{
$sql = 'SELECT * FROM prodotti WHERE id = '.$id;
$res = $db->query($sql);
$f = $res->fetch();
@extract($f);
$result[] = '<tr>';
$result[] = '<td>[url="carrello.php?action=cancella&id='.$id.'"]Cancella[/url]</td>';
$result[] = '<td>'.$nome.' by '.$descrizione.'</td>';
$result[] = '<td>€'.$prezzo.'</td>';
$result[] = '<td><input type="text" name="quantita'.$id.'" value="'.$quantita.'" size="3"></td>';
$result[] = '<td>€'.($prezzo * $quantita).'</td>';
$result[] = '<td>contenuto'. $carrello .'</td>';
$subsomma += ($prezzo * $quantita)*20/100;
$result[] = '<td>- 20%--> €'.(($prezzo * $quantita)-$subsomma).'</td>';
$somma += $prezzo * $quantita;
$result[] = '</tr>';
}
$result[] = '</table>';
$result[] = 'Totale: [b]€'.($somma-$subsomma).'[/b]</br>';
$result[] = '<button type="submit">Aggiorna il carrello</button>';
$result[] = '</form>';
}else{
$result[] = 'Il carrello è vuoto.
';
}
return @join('',$result);
}
?>
ma non riesco a far registrare tutti i dati contenuti nella sessione su un db
se provo
Codice PHP:
//Apro la sessione e...
session_start();
//Recupero i dati...
$carrello = $_SESSION['carrello'];
//facciamo una stampata a video!
echo "$carrello";
il risultato sarà: 1,1,1
praticamente l'id ripetuto tante volte quanto la quantità immessa.
a me serve invece intabellare: quantità|nome|descrizione|totale
come posso muovermi? lo script per esteso è tratto da qui e mi sembra un ottimo script ma senza questa funzione è un problema...
grazie a tutti, daniele.