Recuperer numeros de tel

Recuperer numeros de tel - PHP - Programmation

Marsh Posté le 05-09-2005 à 14:35:29    

Dans ma base de données, j'ai des numeros de telephone dans un champs descripion, je voudrais mettre ma base de données a pouvoir isoler ces numeros des telephone pour les mettre dans une nouvelle colonne telephone, mais je ne sais pas trop comment faire, il faudrait que je lise tout le contenu de ma colonne description reperer le numero de tel qui comment soit par 01 ou 02 ou 03 ou 04 ou 05 ou 06 puis ensuite remplacer le numero dans le champs pas xx xx xx xx xx puis mettre a jour la ligne et placer ce numero recuperer dans la nouvelle colonne telephone,  
simple a comprendre je pense sur le papier mais dans la realité...  
 
Qqu'un a t'il une piste?  

Reply

Marsh Posté le 05-09-2005 à 14:35:29   

Reply

Marsh Posté le 05-09-2005 à 14:41:04    

Bah si tu sais comment faire les enregistrements/lectures en SQL il te suffit ensuite d'utiliser une petite regex pour extraire les numéros de téléphone.
 
Enfin si j'ais bien compris ton problème....


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 05-09-2005 à 19:36:21    

ouai en effet un regex si tu sait le faire en php  
 
ou sinon tu peux faire un explode($numtel," " ); si tu enregistre séparé par un espace tous les 2 chiffres  
 
ou sinon tu peux faire un substr pour extraire les 2 premiers caractères (01, 02, ....)

Reply

Marsh Posté le 05-09-2005 à 19:37:33    

Tu peux développer les deux dernières solutions que tu donne, parce que je ne vois pas bien en quoi ca peut régler son problème...  :??:


Message édité par dwogsi le 05-09-2005 à 19:38:12

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 05-09-2005 à 19:40:11    

ouais faut voir du cote des regex  
!0[1-6][0-9]{8}!
 
http://il2.php.net/manual-lookup.php?pattern=preg

Reply

Marsh Posté le 05-09-2005 à 19:46:51    

et bien dans son champs description, il a ses numéro enregistré de cette facon :
 
01 42 45 45 89
06 45 88 55 22
 
il lit sa colone et isole ses chiffres avec l'expace qu'il y a entre :  
$num=expolode (" ", $tel);
echo $num[1]; ==> indicatif du numéro
 
(je m'etais trompé d'ordre en faite)
 
ou sinon il peut carrement utilisé substr(straing chaine, position debut, position fin) qui permet de prelevé ses numéro 2 chiffres par 2.  
substr($tel, 0, 2);
 
A verifier pour la syntaxe. Est ce que c'est plus claire...
 
 
Cela dit, ta solution est bien plus élégante mais je ne maitrise pas trop les regex en PHP.  
 

Reply

Marsh Posté le 05-09-2005 à 19:53:04    

Ok je comprends mieux maintenant mais il me semble que dans son champs description il ne doit pas avoir juste les numéros de téléphones mais également d'autres informations. C'est pourquoi je ne vois que les regex.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 05-09-2005 à 20:05:16    

oui en effet  
 
luxi, est ce que tu pourras nous tenir au courant comment tu t'y es pris.
 
Ca peut toujours aider quelqu'un lorsque tu donnes la reponses à ton post.
 
Merci

Reply

Marsh Posté le 05-09-2005 à 20:52:37    

quelle base de donnée? mysql?
Avec mysql, j'ai eu à extraire une adresse Ip d'un champ texte, pour un numéro de tléphone, c'est surement aussi simple s'ils sont presque tous écrit de la même maniére.

Reply

Marsh Posté le 05-09-2005 à 20:55:21    

T'aurais pu nous parler un peut de ta solution en passant...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 05-09-2005 à 20:55:21   

Reply

Marsh Posté le 05-09-2005 à 21:05:54    

je cherche le début de la chaine de caractére attendus et ensuite, j'extrait la longueur normale de la chaine et j'affecte ca à une autre colone.
extrait de la doc de mysql :

Citation :

SUBSTRING(str,pos,len) et SUBSTRING(str FROM pos FOR len) : Retourne une chaîne de len caractères de long de la chaîne str , à partir de la position pos . La syntaxe ANSI SQL92 utilise une variante de la fonction FROM
LOCATE(substr,str) et LOCATE(substr,str,pos) : Retourne la position de la première occurrence de la chaîne substr dans la chaîne de caractères str . Retourne 0 si substr ne se trouve pas dans la chaîne de caractères str


Message édité par omega2 le 05-09-2005 à 21:06:44
Reply

Marsh Posté le 05-09-2005 à 21:09:32    

Pas mal du tout mais bon ca dépend toujours de comment est construit son champ description et je crois que ca aiderait bien si il nous le disait.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed