Page 1 sur 1
Le premier 0 d'un code postal
Posté : 06 juin 2007, 09:46
par manzzz
bonjour, quand je consulte ma base je remarque que tout les codes postaux (rentrés par formulaire) commençant par 0 n'ont plus le 1er 0.
Comment faire pour les garder?
Posté : 06 juin 2007, 09:51
par Rei Itchido
Quel est le type de ton champs?
Si il est de type entier c'est normal, passe le en type char
Posté : 06 juin 2007, 09:57
par manzzz
oui il est entier, mais il n'y a aucun moyen de garder le type entier et le 1er 0 a part changer de type? :s
Posté : 06 juin 2007, 10:02
par Rei Itchido
Ben tu peux modifier ça au moment de l'affichage à la limite.
Par exemple tu comptes le nombre de caractères de ta chaine et si il est inférieur à 5 (?) c'est qu'il manque le 0 du début donc tu le rajoutes.
Mais ça serait plus simple de passer le champs en type chaîne.
De plus, je ne sais pas si ça te concerne mais le code postal de la Corse est different des continentaux me semble

Posté : 06 juin 2007, 10:08
par manzzz
merci

^^
Posté : 06 juin 2007, 12:07
par zeus
C'est un problème de modélisation de ta base.
Un code postal n'est pas un entier mais une chaine de caractère. Comme cela a été soulevé, l'exemple de la Corse le prouve puisque c'est "2Axxx" ou "2Bxxx"
Ce n'est pas parce qu'un champ n'est composé que de chiffres qu'il s'agit d'un entier

Posté : 06 juin 2007, 12:57
par orgerix
J'en metterai pas main main à couper, Zeus. Il me semble justement que l'ensemble des codes postales de la Corse commence par 20.
un petit tour par
la te convaincra
Posté : 06 juin 2007, 13:02
par Sékiltoyai
Même si c'est le cas, ca n'en reste pas moins une chaine. Il faut donc utiliser un champ CHAR(5) dans la base de données (ici, CHAR est plus intéressant que VARCHAR puisque l'on sait que les chaines ont toutes les même taille).