calcolo addizionale

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Salve ragazzi sono alle prese con un calcolo addizionale che proprio non riesco a concepire.
Tenterò di spiegarvi il mio problema.
Dovrei addizionare tutti i prezzi dei prodotti che ho messo nel carrello
ma non riesco proprio a capire come fare.
Per inserirli nel carrello e calcolare il loro prezzo in base alla quantità è stato semplice mi è bastato convertire il numero da intero a virgola mobile cn il metodo number_format e poi ho moltiplicato per la quantità.
Ma ora come faccio ad addizionare il prezzo di ogni prodotto visto
che ho una sola costante che è il prezzo stesso?
se dicessi prezzo + prezzo direi esempio 2+2 quindi non funziona.
Devo fare una query di select dare al prezzo un id creare un ciclo e poi fare la somma?

<?PHP

$Quantita=50;
$Prezzo=5;
$zeri=number_format($Prezzo, 2, ',', '.');
$cifra=$zeri;
echo"Prezzo da mostrare: $cifra<br/>";
$calcolo=number_format($Prezzo, 2, ',', '.');
echo"Costo singolo prodotto Euro: $calcolo<br/>";
echo"Quantità = $Quantita<br/>";

if($Quantita>1){
$Prezzo=$Prezzo*$Quantita;
$calcolo= number_format($Prezzo, 2, ',', '.');
echo"Totale Euro: $calcolo";
}

?>
 
non ho capito una cosa, se hai prezzo per quantità, perché devi addizionare tra loro i prezzi?
 
Ciao Eliox grazie per la risposta.
Per ottenere la somma totale.
Esempio metto nel carrello: Vaso Euro: 11,00 e Terra nera Euro: 5,00
Totale: 16,00
 
ragazzi per prima cosa vi ringrazio infinitamente per la risposta.
Però mi scuso ma non ho capito è il totale che non riesco a recuperare.
Intendete dire di creare una variabile che incorpori il totale del prodotto e poi lo addizioni? ma i prodotti sono più di uno sn in confusione pardon :(
 
ciao
da quello che ho capito (non sono un'esperto di ecommerce) tu metti nel carrello un articolo e fai il calcolo
$Prezzo=$Prezzo*$Quantita;
quando metti il secondo la pagina in cui calcoli il prezzo si ricarica?
se si, per recuperare il totale ti conviene utilizzare le sessioni

cioè mettere in sessione il totale che rimane sino a che uno non ha finito

o come ho scritto io
$_SESSION['totale']=$_SESSION['totale']+$calcolo;
o alex
$_SESSION['totale']+=$calcolo;
e poi usi dove vuoi il valore della sessione


p.s.
per alex
io negli script uso come hai detto tu, ma (secondo me) per spegare il mio è più immediataemnte leggibile
 
Si faccio ricaricare la pagina ogni volta che inseriscono il prodotto nel carrello.
Quindi devo fare aprire una sessione e viene chiusa poi quando chiudono il browser e non prima vero?
Se poi navigano altre pagine dell'e.commerce non c'è problema la memoria la perde solo quando chiudono
il browser vero?
Con la sessione dunque posso tenere traccia dell'ultimo prodotto e del suo costo per addizionarlo via via
ho ben capito?
Esempio: prodotto uno euro 2,00
immissione refresh apertura sessione ed ecco che va in memoria.
Immssione prodotto due euro 4,00 addiziono il nuovo prodotto ricordando
il precedente pertanto calcola euro 6,00 giusto?
 
Ultima modifica:
Perfetto vediamo se ho capito con la sessione dunque posso tenere traccia dell'ultimo prodotto e del suo costo per addizionarlo via via
giusto?
Esempio: prodotto uno euro 2,00
immissione refresh apertura sessione ed ecco che va in memoria.
Immssione prodotto due euro 4,00 addiziono il nuovo prodotto ricordando
il precedente pertanto calcola euro 6,00 giusto?
 
ciao
...con la sessione dunque posso tenere traccia dell'ultimo prodotto e del...
proprio così
al primo prodotto avrai
$calcolo=10*5=50
e nella sessione il valore 50
al secondo
$calcolo=5*5=25
e nella sessione
$_SESSION['totale']= 50+25 =75
al terzo ecc...
 
Fenomenale grazie ragazzi mi avete chiarito le idee ero proprio fuso.
Provo e appena riesco mi faccio sapere.

Grazie ancora
 
ciao
dimenticavo una cosa.
se metti i prodotti in una tabella di db puoi fare una select. es

"SELECT SUM(singoli_prezzi_totali) FROM tabella_ordine....

dove la select ti restituisce la somma dei prezzi
 
Incredibile grazie mille vuoi dire che basterebbe anche una semplice SELECT per ottenere il calcolo di prodotti messi nel carrello??
che tipo di SELECT ? non la conosco :(
 
è questa? SELECT SUM(nome_colonna) FROM tabella
mi da direttamente il calcolo dei prodotti messi nel db?
 
ciao
non so come sia fatta la tua tabella, ma suppongo che abbia tra l'altro un id che identificha l'ordine e un campo in cui ci sia il prezzo totale per l'articolo es
id ordine_n° articolo quan prezzo_tot_per_art
1 333 camice 5 500
2 333 mutande 7 250
3 333 ecc........ 25 100
per cui

$query=mysql_query("SELECT SUM(prezzo_tot_per_art) FROM ordine WHERE id_ordine='333'");
ti restituisce, con il mysql_fetch_array) 850 cioè la somma della colonna prezzo_tot_per_art
 
Ciao Borgo scusa il disturbo ma non ho capito come formulare la query.
Ho il db strutturato così:

Tabella acquisti
set: Id_prodotto, Nome_prodotto, prezzo, quantita, codice, calcolo

deve essere formulata così la query?

$query=mysql_query("SELECT SUM(acquisti) FROM calcolo WHERE id_prodotto='$Id_prodotto'");

Nel record calcolo c'è il numero intero che mi porta ad ottenere il prezzo in virgola mobile.

Inoltre con quale comando posso verificare il calcolo?
questo?
$somma = mysql_fetch_array($query);
 
ciao
Tabella acquisti
set: Id_prodotto, Nome_prodotto, prezzo, quantita, codice, calcolo
(1) non c'è l'id dell'ordine o dell'ordinante?
(2) nella tabella acquisti trovi solo i record relativi a un ordine?
il campo calcolo (a parte il float) contiene il prodotto prezzo per quantita?
(3) la somma del totale dell'ordine deve essere fatta sul campo calcolo?
se la risposta al punto 1 e 2 è NO, il calcolo della somma non avrebbe senso in quanto ti restiturebbe il totale dell'ordine (es) fatto da pinco + il totale dell'ordine fatto da pallino
se la risposta al punto 2 e 3 è SI la query
PHP:
$query=mysql_query("SELECT SUM(calcolo) FROM tabella_acquisti");
$rows=mysql_fetch_array($query);
echo "il totale dell'ordine è $rows['calcolo']";

se al contrario nella tabella_acquisti hai mescolati gli ordini di pinco e pallino dovresti aggiungere un campo (o l'identificativo del cliente o quello dell'ordine) chiamiamolo per es id_cliente
per cui la query diventa
PHP:
$query=mysql_query("SELECT SUM(calcolo) FROM tabella_acquisti WHERE id_cliente='$id_clente'");
$rows=mysql_fetch_array($query);
echo "il totale dell'ordine di $rows['id_cliente'] è $rows['calcolo']";


spero di essermi spegato, altrimenti sono qui
 

Discussioni simili