- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Php-mysql, problemi col tipo "decimal"
-
Php-mysql, problemi col tipo "decimal"
Salve ragazzi, avrei un problemino con l'inserimento in un database di dati in un campo di tipo "decimal (9,2)".
Nel campo vanno inseriti i prezzi di alcuni prodotti, per cui mi serve che memorizzi la cifra esatta fino alla seconda posizione decimale. Il fatto è che se inserisco i dati senza trattarli col php, nel database ritroco come valore 0,00; se invece uso la funzione
$prezzo=str_ireplace(".", "", $prezzo);
il valore viene inserito, ma le due cifre decimali vengono registrate sempre con valore .00
in pratica mi si azzerano le cifre decimali.
Se provo con FLOAT e altri tipi di variabili che non siano INT, il valore nel database viene registrato sempre come 0,00DOVE STO SBAGLIANDO? :bho:
Ciao e grazie dell'aiuto
PS: se provo a stampare a video la variabile $prezzo, il formato è corretto es. 1234,56
ma registrata nel DB me la ritrovo 1234,00
-
Se il formato che hai è con la virgola e su DB è con il punto devi fare:
$prezzo=str_ireplace(",", ".", $prezzo);
-
Grazie!
Avevo già risolto, il mio problema era legato al fatto che l'input prevedeva anche il punto come separatore delle migliaia... adesso, avendo un valore $prezzo=1.234,56, prima effettuo un str_ireplace per eliminare il punto:
$prezzo= str_ireplace( "." , "",$prezzo);
e poi un altro per sostituire la virgola col punto:
$prezzo= str_ireplace("," , ".", $prezzo);
ed ottengo così $prezzo==1234.56
Ancora grazie, comunque