cs_le_totophe
Messages postés51Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 mai 2007
-
23 nov. 2005 à 19:59
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012
-
27 nov. 2005 à 20:19
Bonsoir à tous,
je dois développer (à titre gracieux) un programme dans lequel j'ai
besoin d'enregistrer des numéros de téléphone qui peuvent être saisis
de n'importe quelle façon .
par exemple:
"04.93.00.00.00" ou encore "00 377 93 00 00 00" ou encore "0610000000", etc...
J'ai aussi besoin de faire une recherche sur ces numéros et qu'ils apparaissent comme ils ont été saisi.
par exemple:
saisie> 00.377.93.00.00.00
recherche> 00 377 93 00 00 00
affiche> 00.377.93.00.00.00
J'avais pensé en désespoir de cause à créer 2 colonnes pour 1 numéro. Par exemple une colonne valeur et une colonne valeurAffichable. Ce qui lors de la saisie de 04.93.00.00.00 enregistrerait 0493000000 dans la colonne valeuret 04.93.00.00.00 dans la colonne valeurAffichableMais cette solution ne me plaît pas.
Si quelqu'un pouvait m'aider à me dépatouiller de ce problème ce serait vraiment super sympa. Merci d'avance
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 24 nov. 2005 à 12:24
salut
pourquoi ta solution te plait pas ?
tu pourrais sinon faire stocker seulement la valeur telle qu'elld est saisie et faire une recherche comme ca :
where numero like '0%0%3%7%7%9' etc...
comme ca quel que soit le separateur utilisé, tu aura ton numero.
ca va bien marcher si les numeros on tous le meme nombre de chiffre
mais sinon tu risque d'avoir des erreur avec cette methode:
par exemple si tu cherche 37.44
tu va trouver 37.44
mais aussi 37.99.44 si il est en base !
mais si tes numeros ont tous le meme nombre de chiffres, je pense que ca devrait marcher.
cs_le_totophe
Messages postés51Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention26 mai 20072 24 nov. 2005 à 15:16
Salut,
en fait cette solution ne me plait pas car je la trouve un peu bourrin:
pour chaque numéro ajouté rééllement on en ajoute physiquement 2 ce qui
revient à mon sens à trop charger la base pour pas grand chose (juste
un effet d'affichage).
L'idéal je l'avoue serait de savoir comment faire autrement bien qu'en
dernier recours je sois prêt à me résoudre à créer 2 colonnes pour 1
numéro
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 24 nov. 2005 à 16:02
bah sinon c'est comme je le disais.
voir quel sont les differents typ de numeros que tu pourra avoir, et les differnts type de format.
ou alors utiliser les expressions regulieres dans tes requetes, mais la aussi je te conseil d'avoir le temps pour faires les test. c'est possible sous SQL server, sous oracle, je l'imagine mais je ne suis pas sur, sosu les autres SGBDR... aucune idee.
cela dit dans ce cas precis, stocker les infos en double, cela ne me choque pas plus que ca si tu pense que tu aura toute sorte de format et toute sorte de numeros de telephone. en fat toute la question est la !
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 27 nov. 2005 à 20:19
Je crois qu'il n'y a pas trente six solutions, soit tu fais un programme qui oblige l'utilisateur a formater le numero de telephone selon ton choix code pays, code localité, n° sur x positions, ou alors tu laisse à l'utilisateur le choix du format et tu l'enregistre en format string dans ta base.