dipende da cosa vuoi... se vuoi che un secondo ordine dello stesso prodotto si sommi all'ordine precedente, è giusto.. se vuoi che lo sostituisca.. è sbagliato... ma ti basta cambiare l'assegnamento alla variabile...Originariamente inviato da bobonzo
mi aiuteresti a personalizzare questo script? funziona ma qualcosina non va.
1. il problema è che se aggiorno la pagina del carrello aumenta la quantità dell'ultimo prodotto aggiunto (ma mi sa che è normale, giusto?).
Primo: disinstalla php e installane uno cheabbia meno di 3 anni (quelli che ha il tuo).. perchè HTTP_GET_VARS probabilmente non esiste più nel 99% dei server web.2. nella parte di codice sotto, il carrello viene mostrato...come faccio a recuperare dal db il nome prodotto?
in sostanza vorrei intercalare nel codice sotto una query del tipo:
e mostrare il titolo anzichè l'id del prodotto in sessioneCodice PHP:
$query= "SELECT * FROM libri where titolo = '" . $HTTP_GET_VARS['product'] . "'"; }
$rs = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($rs)) {
$titolo = $row["titolo"];
}
grazie gui
In secondo luogo.. ionvece di usare una variabile letta da get, userai quella letta da sessione... per ogni prodotto estrarrai i dati e li stamperai come meglio credi.
è un po' diverso da quello che ti avevo consigliato io... io ti avevo consigliato un array in cuila chiave è l'id e il valore è la quantità...questo l'output del carrello
grazie
Codice PHP:
if ($_SESSION['jnb_total_products'] > 0){
echo 'BASKET LIST
';
// Because the product name is the index key, we will list the jnb_quantity variable keys
$array_products = array_keys($_SESSION['jnb_quantity']);
foreach ($array_products as $product){
echo'[url="buy.php?action=subtract&product=' . $product . '&quantidade=1"]' . $product . '[/url] qtd: ' . $_SESSION['jnb_quantity'][$product] . '
';
}
echo '
';
}
a quel punto smeplicemente scorri tutto l'array (come fa qua) chiave per chiave.. e hai l'id, con cui estrai il prodotto dal db, e la quantità.. con cui calcoli il costo totale....
la pagina del carrello non fa altro che ricevere in get 3 cose: l'azione sul prodotto (inserisci, cancella, aggiorna), l'id del prodotto e la quantità... in base a questo ti gestisci l'array di cui sopra e lo stampi nel carrello come ti ho detto (per ognii id titri fuori i dtai dal DB e hai le quantità e tutto quello che ti serve).
Quando poi il cliente vuole confermare l'ordine di quelo che sta nel carrello lo mandi ad un'altra pagina in cui calcoli i prezzi (prodotto per prodotto e li sommi) e invii l'ordine (se vuoi solo mandare una e-mail ti basta ripetere più o meno il ciclo del carrello.. solo che invece di buttare tutto in output accodi tutto in una variabile che poi sarà il contenuto della e-mail)