Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1309 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  placé ma fonction dans ma requette

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

placé ma fonction dans ma requette

n°1894333
sinifer
Posté le 12-06-2009 à 08:21:33  profilanswer
 

Bonjours,
 
Voilà j'ai un problème que j'arrive pas à élucidé  je pence qu'il est tellement voyant que je le voit pas.
 
Bref je fais une une selection de numero de téléphone dans ma base de donné le champs est customers_gsm mais
comme j'ai des numéro qui sont fau je fai une fonction pour les réparé
 
ma fonction march trè bien mais quant j'esseil de la mettre dans ma requette sa m'affiche une page blanche es-ce du a une virgule,
ou autre je ne pence pas mais je croi qu'il y a une erreur dans l'appel de ma fonction ou autre ma fonction est comme celà:  
 

Code :
  1. function remplaceNum($numero)
  2. {
  3. $error = "numero pas correct";
  4. $numero = Str_replace ("." ,"", $numero);
  5. $numero = Str_replace ("-","", $numero);
  6. $numero = Str_replace ("/","", $numero);
  7. $numero = Str_replace ("+33","", $numero);
  8. $numero = Str_replace ("0033","", $numero);
  9. $numero = Str_replace (",","", $numero);
  10. $numero = Str_replace (";","", $numero);
  11. $numero = Str_replace (" ","", $numero);
  12. $numero = Str_replace ("+","", $numero);
  13. $numero = Str_replace ("_","", $numero);
  14. //rajoute autant de caractere que de filtre que tu veut en faite
  15. if ($numero[StrLen($numero)-9] == 6 && StrLen($numero) == 9 )
  16. {
  17.  
  18.   $numero = "0".$numero;
  19.   }
  20.   else{ return $error;}
  21.   if(ctype_digit($numero)){return $numero;} else{ return $error;
  22. }


 
et voici mon code ou je place ma fonction  
 

Code :
  1. $export_query=mysql_query(" SELECT customers_id, customers_nom, customers_prenom , customers_gsm, customers_email FROM customers WHERE customers_pays = 'France' and customers_unjoin_date = '0000-00-00' and  customers_gsm !='06' and customers_gsm !='' and customers_gsm REGEXP "^[0-9]*$" " );
  2. $export_data .="customers_id" . "\t"; $export_data .="customers_nom" . "\t"; $export_data .="customers_prenom" . "\t"; $export_data .="customers_gsm" . "\t";
  3.  $export_data .="customers_email" . "\t";  $export_data .="\n";
  4. while ($export=mysql_fetch_array($export_query)) {
  5.  // on recupere les resultats de la requete
  6.  $customers_id = $export[0];  $customers_nom = $export[1];  $customers_prenom = $export[2];  $customers_gsm = $export[3]; $customers_email = $export[4];
  7.   $numero  = $export['customers_gsm'];
  8.     remplaceNum($numero);
  9.     $num_gsm = remplaceNum($numero);
  10.   if(ctype_digit($num_gsm)){
  11.  $export_data .=$export["customers_id"] . "\t";
  12.  $export_data .=$export["customers_nom"] . "\t";
  13.  $export_data .=$export["customers_prenom"] . "\t";
  14.  $export_data .=$num_gsm. "\t";
  15.  $export_data .=$export["customers_email"] . "\t";
  16.  $export_data .="\n";
  17.          }
  18. }


 
je vous remerci de votre aide


Message édité par sinifer le 12-06-2009 à 09:04:58
mood
Publicité
Posté le 12-06-2009 à 08:21:33  profilanswer
 

n°1894350
macgawel
Posté le 12-06-2009 à 09:54:42  profilanswer
 

Bonjour.
 
1. Dans ton code, tu ne demandes pas d'afficher quoi que ce soit.
=> C'est normal d'avoir une page blanche en résultat !  :whistle:  
 
2. Mon n° de GSM : (+33)0610200033
Avec ta fonction, je me retrouve avec 061020 !
Et si mon n° est "00 33 06 10 20 30 40" ça ne fonctionne pas non plus...
 
A ta place, je commencerais par virer tous les caractères "parasites" (non numériques). Et après seulement je m'occuperais de virer le (+33) et le 0033...
 
3. Petit détail :
Dans ta requête SQL, je ne vois pas trop pourquoi tu fais un SELECT customers_id, customers_nom, customers_prenom , customers_gsm, customers_email, alors que tout ce que tu utilises c'est le customers_id et le customers_gsm ?
Et accessoirement, j'aurais tendance à faire la mise en forme du n° GSM à l'enregistrement - avant de faire l'INSERT...
 
[HS]Si tu peux, essaye de faire des efforts sur l'orthographe, ce n'est pas évident à lire...  :jap:

n°1894361
olivthill
Posté le 12-06-2009 à 10:10:39  profilanswer
 

Edit : j'ai cru que c'était un problème d'accolade, mais en faite, il ne semble pas en manquer.


Message édité par olivthill le 12-06-2009 à 10:12:00
n°1894364
sinifer
Posté le 12-06-2009 à 10:12:48  profilanswer
 

Merci de ta réponse macgawel,
 
pour mon orthographe je suis désolé mais je fait du mieux que je peu,
 
Effectivement j'ai enlevé le numéro avec 0033 au milieu donc je suis entrain de corriger ça.  
C'est aussi vrai que si j'ai un bon numéro il me dit que c'est pas bon pourtant à un moment donnée sa marchait et je me demande ce que j'ai dû enlevé pour plus que sa marche.
Mais le problème vien de && StrLen($numero) == 9 car si il lit plus de 9 caractère il s'arrête.
 
l'idéale serait que je fasse dans ma fonction que si je trouve le 6 a là neuvième position j'enlève ce qu'il y a après et je met un 0  
 
si tu sais faire sa ce serait cool que tu m'explique comment faire merci

n°1895129
rufo
Pas me confondre avec Lycos!
Posté le 15-06-2009 à 13:05:16  profilanswer
 

pour info, str_replace() peut prendre comment 2 premiers paramètres des tableaux : ça t'éviterait de faire pleins de str_replace à la suite et n'en faire donc plus qu'un.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  placé ma fonction dans ma requette

 

Sujets relatifs
fonction imagejpeg() lors de miniaturisation (librairie GD)[Resolu][PHP]Fonction xAjax pas appelée ?
[Résolu] Plusieurs argument dans une url fonction js ajaxProblème de paramètre dans ma fonction
Problème fonction mailUne requette sur SQL Server 2008 et Visual Basic
Probleme d'appel de fonction php via onclick[php] fonction Zip ok, par contre, le zip "retient" l'arborecence
Une variable qui prend un peu trop de place ...boucles imbriqués en une seul requette (ds la meme table quoi)
Plus de sujets relatifs à : placé ma fonction dans ma requette


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR