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
-
- Mesaje:94
coloana pentru numere cu zecimale in baza de date
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/
https://www.crestinmultimedia.com/
MarPlo
Mesaje:4343
Salut
Pentru numere cu zecimale poti sa faci o coloana de tip "float" sau "double".
- 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:
- 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.
Pentru numere cu zecimale poti sa faci o coloana de tip "float" sau "double".
Cod: Selectaţi tot
nrs FLOAT NOT NULL
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');
- Indicat e sa setezi campul din formular de tip numar (type="number") ca sa se poata adauga doar valori numerice corecte.
ionatan
Mesaje:94
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.
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.
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/
https://www.crestinmultimedia.com/
andras
Mesaje:430
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.
MarPlo
Mesaje:4343
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
ionatan
Mesaje:94
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.
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/
https://www.crestinmultimedia.com/
ionatan
Mesaje:94
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
Cum as putea sa elimin orice litera sau alt caracter iar în loc de virgula sa înlocuiesc cu punct ?
Mulțumesc
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/
https://www.crestinmultimedia.com/
MarPlo
Mesaje:4343
Vezi raspunsul de la pagina: pastrare-numere-virgula-punct-php-t2447.htm
Subiecte similare
- Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML Primul mesaj
SalutUltimul mesaj
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
Treaba cu adaugare json in mysql e simpla, se rezuma la adaugarea unui sir care contine ghilimele duble.
Problema la tine e ca acele ghilimele sunt... - Afisare numar cel mai mare dintr o coloana
PHP - MySQL - XML Primul mesaj
Bună MarploUltimul mesaj
Vreau să extrag din coloan pret cel mai mare numar ca de exemplu 4444.
Mie imi afisează 54 în loc de 4444, dacă în loc de 4444 modific...
Am schimbat `pret` varchar(20) DEFAULT NULL in `pret` int(11) NOT NULL ca la tine si merge.
Multumesc - Regex pentru adrese
PHP - MySQL - XML Primul mesaj
Salut,Ultimul mesaj
As avea si eu nevoie de ajutor! incerc de ceva zile sa dezvolt un regex/ sau o alta solutie, sa vad daca intr-un string mai mare exista o...
Ai putea folosii o functie de localizare IP/browser, dar ar fii ceva individual, facusem eu in trecut o functie, ceva de verificare IP si blocare pe... - Proteina genetică pentru vindecarea paraliziei
Handicap Într-un nou studiu, oamenii de știință germani au restabilit capacitatea de a merge la șoareci paralizați după o leziune completă a măduvei spinării....