Pagina 1 din 1

coloana pentru numere cu zecimale in baza de date

Scris: Mar Dec 20, 2016
de ionatan
Salut,
Intr-un tabel in baza de date am o coloana in care adaug cifre de ex 1848,33
Ce tip de coloana trebuie sa aplic? iar daca cineva adauga prin formular 1.848,33 imi da eroare cum ar trebuii sa fac insertul in BD

coloana pentru numere cu zecimale in baza de date

Scris: Mie Dec 21, 2016
de MarPlo
Salut
Pentru numere cu zecimale poti sa faci o coloana de tip "float" sau "double".

Cod: Selectaţi tot

nrs FLOAT NOT NULL
- Valoarea de forma: 1.878,35 nu e un format de numar acceptat de standardul sql; dupa zecimale (care sunt dupa punct '.') nu se mai adauga alt punct sau virgula. Daca numarul e incorect, va returna Eroare de tip Warning.
Ca mysql sa nu mai dea erori de tip "Warning", la insert poti sa folosesti instructiunea "ignore", asa:

Cod: Selectaţi tot

INSERT IGNORE INTO table_name (col1, nrs)
VALUES ('abc ...', '1.848,33');
- Acest insert va adauga in coloana "nrs" (care e de tip Float) numarul: 1.848; ignorand virgula si ce e dupa ea.
- Indicat e sa setezi campul din formular de tip numar (type="number") ca sa se poata adauga doar valori numerice corecte.

coloana pentru numere cu zecimale in baza de date

Scris: Mie Dec 21, 2016
de ionatan
Salutari,
Când face cineva un Update în casuta input îi apare 1.848,33
Am tot încercat în codul de Update sa elimin punctul iar virgula sa o transform în punct sa rămână 1848.33 pentru ca vreau sa lucrez cu zecimale și nu am reușit.
Mulțumesc.

coloana pentru numere cu zecimale in baza de date

Scris: Mie Dec 21, 2016
de andras
Depinde cum e formatat cimpul input, nu este obligatoriu ca valoarea care apare in input sa fie exact ce salveaza in tabela. Verifica variabila POST inainte de INSERT. Dar cel mai bine este sa faci input type="number" (standard HTML5) asa cum ti-a spus MarPlo.

coloana pentru numere cu zecimale in baza de date

Scris: Mie Dec 21, 2016
de MarPlo
Daca vrei sa stergi punctul si sa inlocuiesti virgula cu punct, poti aplica in php codul din acest exemplu la acele valori de formular:

Cod: Selectaţi tot

$nr ='1.848,33';
$nr = str_replace(['.', ','], ['', '.'], $nr);
echo $nr;  // 1848.33

coloana pentru numere cu zecimale in baza de date

Scris: Mie Dec 21, 2016
de ionatan
Mulțumesc pentru codul php. eu când dau clik pe butonul edifeaza mie îmi rămâne exact 1.848,33 pentru ca nu mă trimite pe o alta pagina.php în care sa facă selectul la toate input-urile apoi sa le editez.... Merci încă o data.

coloana pentru numere cu zecimale in baza de date

Scris: Joi Dec 22, 2016
de ionatan
Revin la str_replace. Din anumit motiv nu pot pune input type="number"
Cum as putea sa elimin orice litera sau alt caracter iar în loc de virgula sa înlocuiesc cu punct ?
Mulțumesc

coloana pentru numere cu zecimale in baza de date

Scris: Joi Dec 22, 2016
de MarPlo
Vezi raspunsul de la pagina: pastrare-numere-virgula-punct-php-t2447.htm