|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Thibaut LEFEBVREFinance Inscription : octobre 2009 Messages : 123 ![]() |
Bonsoir à tous,
Encore un problème avec mysql et php.... le voici: j'ai une table avec un champs de type decimal(10,2). J'importe un CSV dont les données qui doivent être ressemble par exemple: -1520414,90 -1524,49 824000,94 -79314789,19 -576703,23 889,35 les données apparaissent telles qu'elles dans le csv. Avec la virgule et les décimales... quand j'importe mes données elles sont tronquées et cela donne : -1520414,00 -1524,00 824000,00 -79314789,00 -57670332,00 889,00 et du coup j'ai des erreurs d'arrondis... et sur mes 350 lignes, ça fait un sacré écart.... J'ai essayé de remplacer la , par le . mais du coup mes données ne sont plus importées... comme s'il y avait une erreur... quelqu'un aurait-il une solution ? D'avance merci pour votre aide, Thibaut |
|
00
|
|
|
#2 | |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Citation:
|
|
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Pas de raison que ça bloque si tu remplaces les , pour des .
Fais un mysql_error( ) pour voir ce qu'il se passe.
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
Ah oui, j'ai déjà eu la joie de rencontrer ce problème. Si tu fais comme moi, tu dois construire ta requête à partir d'une chaîne de caractère du genre:
Code :
$sql = "INSERT INTO table VALUES (121.23, 152.21, 1632.23)"; Code :
$sql = "INSERT INTO table VALUES ('121.23', '152.21', '1632.23')"; Bonne chance Osu |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Thibaut LEFEBVREFinance Inscription : octobre 2009 Messages : 123 ![]() |
arf, désolé, ça marche avec le point... l'erreur provenait d'autre part...
mais alors j'ai un souci. Les utilisateurs finaux seront mes collègues. Ils savent à peine convertir un xls en csv mais bon à la rigueur, ça pouvait passer. Mais comment prendre la virgule comme référence de la décimale et non le point ? car sinon, je vais faire de la maintenance pendant le reste de ma vie professionnelle dans mon entreprise... parce que même outils / options internationales / séparateur de décimales, ils ne savent pas faire... ce n'est pas méchant ce que je dis, mais je n'ai pas envie d'aller voir 70 personnes pour leur expliquer comment utiliser leur ordinateur... |
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 815 ![]() |
Citation:
A toi de traiter les données pour les convertir en un format acceptable par MySQL.
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Thibaut LEFEBVREFinance Inscription : octobre 2009 Messages : 123 ![]() |
bon ok,
je vais m'y mettre alors... merci à toi pour ta disponibilité et ta rapidité... edit : bon c'était facile, j'ai utilisé la fonction str_replace(...); |
|
00
|
Copyright © 2000-2012 - www.developpez.com