- Home
- Categorie
- Coding e Sistemistica
- PHP
- aiuto per stampare numeri decimali correttamente
-
Ciao 4everyoung
puoi usare
[php]number_format($var,2,",",".");[/php]in ordine sarebbero:
La variabile
Le posizioni decimali
Separatore decimali
Separatore migliaia
-
Ciao Samyorn, grazie, provo e poi comunico l'esito. Ciao
-
Ciao Samyorn, funziona,
faccio così,
$tot+=somma per que.....
$totale=number_format($tot,2,",",".");
print $totale;
penso proprio sia migliore di quello chge avevo fatto io.
ma così facendo posso anche passare la variabile con il $_GET in un link per riprenderla nella pagina con il form dell' l'invio dell'ordine?es:< a href=form_invio.php?cont=$totale>Invia l'ordine</a>
e poi nella pag successiva
$cont=$_GET['cont'];
poi ancora una cosa, anche il campo quantità per ogni singolo prodotto è nella query string "SELECT ...COUNT(id) AS quantità ..." e non nel db, per passare alla pagina del form d'invio anche la quantità per ogni singolo prodotto e il totale "...SUM(prezzo) AS Somma per questo prodotto... "per singolo prodotto come devo fare? E come li differenzio uno dall'altro? In modo da inviare nell'ordine d'acquisto NOME_PRODOTTO_1: quantità 3 prezzo ?575.98 NOME_PRODOTTO_2: quantità 2 prezzo ?534.62 eccetera e infine il totale generale dell'ordine $cont.
Mi manca questa parte ed ho completato finalmante l'e-commerce...
Ciao Samyorn. grazie.
-
Per passare il dato con $_GET non credo ci siano problemi, per il resto mi sa che ti conviene creare una tabella temporanea dove man mano memorizzi il tutto e ad acquisto terminato raccogli i dati tutti in una volta già belli che pronti
Vedi se ti va così
-
Ciao Samyorn, in pratica devo aggiungere qualche altro campo nel db e dopo che nella querystring faccio "SELECT id,modello,marca,prezzo,COUNT(id) AS quantità , (per la variabile quantità ) e la somma per ogni prodotto con SUM(prezzo) AS somma....FROM carrello..." devo memorizzare anche queste variabili nel db con un INSERT INTO carrello (quantità ,somma) VALUE ($quantità ,$somma)... devo fare così?
Poi un'altra domanda, mi conviene inserire nel db anche la variabile globale $PHPSESSID per distinguere i vari carrelli degli utenti? O mi basta inserire l'username(ma non mi sembra il massimo)? ...e selezionare il carrello con la clausola WHERE id_utente=$PHPSESSID?
Ciao Samyorn, grazie come sempre...
-
no, non intendevo aggiungere altri campi al Db, ma creare una tabella temporanea che rappresenti il carrello utente (CREATE TEMPORARY TABLE carrello_phpsessid etc etc etc, per esempio) tabella che ad acquisto effettuato o a rinuncia di acquisto eliminerai (DROP TEMPORARY TABLE carrello_phpsessid)
Così ti verrà facile come avere n tabelle per n utenti che accederanno al tuo e-commerce
Tabelle che effettivamente non hai alla fine, in quanto temporaneeImmagina che io utente xyz accedo al tuo e-commerce e mi viene assegnata una tabella tutta mia (carrello_xyz) dove metterai id, id_prodotto, quantità , popolata man mano che effettuo le mie scelte. Ad acquisti effettuati la tabella (si spera sarà bella piena di indicazioni dei prodotti e quantità scelte e sarà un giochino da nulla evadere il carrello
-
Ciao Samyorn, ciao a tutti, sono rientrato ed eccomi nuovamente sul mitico forum GT... è ancora l'euforia delle ferie che mi fa vedere doppio o l'interfaccia grafica del forum è leggermente cambiata? :):):)
Allora Samyorn, grazie mille per questo prezioso suggerimento,da premettere che non conoscevo affatto la temporary table, allora devo fare esattamente quello che faccio creando una semplice tabella giusto? create temporary table (tutti i campi e tipo di dato) e poi faccio una query "Insert into temporary table(eccetera) e poi l'altra come la faccio? intendo la drop temporary etc...? insomma con un semplice if (se la mail con l'ordine viene inviata) drop cioè cancello la tabella e se l'utente rinuncia ad inviare l'ordine, cioè se decide di non voler più acquistare nulla e chiude il browser per un attacco di paranoia :D, come mi devo comportare? Ciaooooooooooo
-
bentornato
beh vaglia i vari casi e fai il tuo script di conseguenza
A) ordine completato: aggiorni la tabella ordini vera e propria prelevando con un SELECT i dati dalla tabella temporanea e scrivendoli sulla tabella ordini e a INSERT eseguito fai un DROP TEMPORARY TABLE etc etc
B) l'utente rinuncia premendo un apposito tastino: uno script che faccia il DROP TEMPORARY TABLE etc etc
C) l'utente si stufa e chiude il browser (:D) : metti un controllo data/ora sull'inserimento dei dati sulla tabella temporanea....se il "movimento" più recente è di oltre n minuti/ore/quelchedeciderai, esegui il DROP TEMPORARY TABLE
D) tutto quello che ti puo' venire in mente
-
metti un controllo data/ora sull'inserimento dei dati sulla tabella temporanea....se il "movimento" più recente è di oltre n minuti/ore/quelchedeciderai, esegui il DROP TEMPORARY TABLE
Ma in questo caso come esegui il drop? Cioè la query col drop dev'essere in una pagina che viene lanciata... oppure ti serve un "evento" derivante da una azione dell'utente che fa partire il drop... non è che si può eseguire una specie di "cron" allo scadere di un termine, no?
Teoricamente soccorre la sessione... se lanci una sessione quando l'utente inizia a comprare e memorizzi tutto lì, se l'utente chiude il browser la sessione decade e il carrello si svuota... se arriva in fondo prelevi i dati dalla sessione e li passi all'ordine definitivo... così non usi una temporary table e mi sembra più efficace...
keiske
-
ok :), grazie samyorn, grazie anche a te Privacy-Impresa, implemento qualcosa e vi faccio sapere... Ciaoooo