Aiuto array - Carrello

gasparroa

Utente Attivo
4 Dic 2008
57
0
0
Ciao
e da poco che programmo in php e mi sto cercando di fare un carrello

appoggio i dati tramite in un database, alla fine vorrei concludere l'ordine e passare i dati dalla tab carrello a quella ordini, pero verrei passare tutti i dati

idprodotto-quantita-prezzo

e metterli tutti in un campo del db ordini come devo fare?

io ho provato a fare cosi ma ne db viene inserito solo il testo "array"

$sqlcar="select * from carrello where idutente='$idutente'";
$rescar= mysql_query($sqlcar) or die("Impossibile caricare i file: ".mysql_error());

while ($rowcar= mysql_fetch_array($rescar))
{
$idprod=$rowcar['idprod'];
$qta=$rowcar['pezzi'];
$prezzo=$rowcar['prezzo'];

$products = array();
$products[] = array('prod' => $idprod, 'qta' => $qta, 'prezzo'=>$prezzo);

// non lo so se va bene una cosa del genere
foreach ($products as $products)
{
ins="INSERT into ordini(iduser,numordine,ordini, quantita,costo, pagamento, data, prezzo, cod_fis) VALUES ('$iduser',$ordine,'$idprod','$qta', '$totale','$pagamento','$data','$prezzo','$cod_fis')";
mysql_db_query("$database",$ins)or die("Inserimento no".mysql_error());
}

alla fine il risultato nella tabella ordini è "array"

Grazie
 
ho dato una veloce letta al tuo codice.
Anche se non è il massimo della "eleganza" (oltre ad esserti saltato qualcosa nel copia-incolla), la tab ordini viene popolata correttamente.
Lo script:

1)seleziona tutto dal carrello, per un utente;

2)si appoggia ad un array per creare le var che serviranno alla query di ordine vero e proprio

3)crea la query di ordine vero e proprio -di cui qui non abbiamo alcune var-

Il fatto che ti risulti "Array" in ordini, quindi ritengo possa essere un problema alla fonte, cioè relativo alla gestione dei dati dalla tab carrello, e di cui qui non abbiamo codice.

alberto
 
Ultima modifica di un moderatore:
ciao
forse qulcuno più esperto di me ti direbbe qualcos'altro, ma io farei così

toglierei il
foreach ($products as $products) {}

e modificherei l'insert

$products = array();
$products[] = array('prod' => $idprod, 'qta' => $qta, 'prezzo'=>$prezzo);

PHP:
$ins="INSERT into ordini(iduser,numordine,ordini, quantita,costo, pagamento, data, prezzo, cod_fis) VALUES ('$iduser',$ordine,'$products['prod']','$products['qta']', '$totale','$pagamento','$data','$products['prezzo']','$cod_fis ')";
mysql_db_query("$database",$ins)or die("Inserimento no".mysql_error());

p.s.
non so se è una dimenticanza, ma davanti a ins devi mettere $
 
PHP:
$ins="INSERT into ordini(iduser,numordine,ordini, quantita,costo, pagamento, data, prezzo, cod_fis) VALUES ('$iduser',$ordine,'$products['prod']','$products['qta']', '$totale','$pagamento','$data','$products['prezzo']','$cod_fis ')";
mysql_db_query("$database",$ins)or die("Inserimento no".mysql_error());

Il procedimento suggerito da Borgo è corretto, devo ricordare però che la funzione mysql_db_query() NON deve essere utilizzata in quanto deprecata.
Selezionate il database con mysql_select_db() e passate la query a mysql_query().
 

Discussioni simili