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

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] éviter la complication avec explode()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] éviter la complication avec explode()

n°1275356
Profil sup​primé
Posté le 31-12-2005 à 16:00:19  answer
 

Bonjour,
 
J'aurais besoin de votre aide pour m'aider à alléger ce code.
Cela m'évitera de repeter plusieurs fois les meme lignes, et cela me permettra d'apprendre à raccourcir mon code.
 

Code :
  1. <?
  2. $fruit = "pomme,poire,cerise";
  3. $categorie = explode(",", $fruit);
  4. $categorie[0] = ucfirst(addslashes($categorie[0])); // ces
  5. $categorie[1] = ucfirst(addslashes($categorie[1])); // 3
  6. $categorie[2] = ucfirst(addslashes($categorie[2])); // lignes
  7. // est t'il possible de reduire ces 3 lignes sans devoir les repeter ?
  8. // il se peut que la variable $fruit soit composée de 4 fruits, voir plus...
  9. // comment faire pour repeter une meme ligne autant de fois qu'il y aura de fruits ?
  10. $sql = "SELECT nom FROM video_categorie WHERE nom = '".$categorie[0]."'";
  11. $req = mysql_query($sql);
  12. $existe = mysql_num_rows($req);
  13. if ($existe == 0)
  14. {
  15. $sql2 = "INSERT INTO `video_categorie` ( `idcat` , `identifiant` , `nom` ) VALUES ('', '$identifiant', '".$categorie[0]."')";
  16. $req2 = mysql_query($sql2);
  17. }
  18. $sql = "SELECT nom FROM video_categorie WHERE nom = '".$categorie[1]."'";
  19. $req = mysql_query($sql);
  20. $existe = mysql_num_rows($req);
  21. if ($existe == 0)
  22. {
  23. $sql2 = "INSERT INTO `video_categorie` ( `idcat` , `identifiant` , `nom` ) VALUES ('', '$identifiant', '".$categorie[1]."')";
  24. $req2 = mysql_query($sql2);
  25. }
  26. $sql = "SELECT nom FROM video_categorie WHERE nom = '".$categorie[2]."'";
  27. $req = mysql_query($sql);
  28. $existe = mysql_num_rows($req);
  29. if ($existe == 0)
  30. {
  31. $sql2 = "INSERT INTO `video_categorie` ( `idcat` , `identifiant` , `nom` ) VALUES ('', '$identifiant', '".$categorie[2]."')";
  32. $req2 = mysql_query($sql2);
  33. }
  34. // comment faire pour vérifier dans la bdd si l'un des fruits (pomme,poire,cerise) provenant de la variable $fruit existe ?
  35. // Y a t'il moyen de vérifier tout cela en quelques lignes ?
  36. ?>


 
Merci pour votre aide :)


Message édité par Profil supprimé le 31-12-2005 à 16:25:52
mood
Publicité
Posté le 31-12-2005 à 16:00:19  profilanswer
 

n°1275367
Max peigne
Posté le 31-12-2005 à 16:11:26  profilanswer
 

Vu que PHP n'est pas typé, il vaut mieux se donner des conventions d'écritures pour pouvoir se relire plus facilement.
 

Code :
  1. $sFruits = "pomme,poire,cerise" ; // (string)
  2. $aCategories = explode(",", $sFruits) ; // (array)  
  3. foreach($aCategories as $sCategorie)
  4. {
  5.   #
  6.   $sql = "SELECT nom FROM video_categorie WHERE nom = '".$sCategorie."'";
  7.   #
  8.   $req = mysql_query($sql);
  9.   #
  10.   $existe = mysql_num_rows($req);
  11.   #
  12.   if ($existe == 0)
  13.   #
  14.   {
  15.   #
  16.   $sql2 = "INSERT INTO `video_categorie` ( `idcat` , `identifiant` , `nom` ) VALUES ('', '$identifiant', '".$sCategorie."')";
  17.   #
  18.   $req2 = mysql_query($sql2);
  19.   #
  20.   }
  21. }


Message édité par Max peigne le 31-12-2005 à 16:12:12
n°1275372
Profil sup​primé
Posté le 31-12-2005 à 16:23:21  answer
 

C'est parfait, ca fonctionne et en seulement quelques lignes  :love:.
 
Merci pour ton aide !  :hello:

n°1275603
littledark
Posté le 01-01-2006 à 19:00:54  profilanswer
 

question de culture g le code sert à quoi???

n°1275643
Max peigne
Posté le 01-01-2006 à 21:11:11  profilanswer
 

littledark a écrit :

question de culture g le code sert à quoi???


 
Je ne sais pas, je ne vois pas de définition de la variable $identifiant que l'on insère en BDD.


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

  [Résolu] éviter la complication avec explode()

 

Sujets relatifs
[Résolu] isset qui veut pas marché :([Résolu]classe mutable/immutable..
[Résolu]Interface marqueurResolu [VBA][EXCEL] GetExternalData sous Excel97
[resolu]Ma fonction de calcul des fps est-elle bonne ?Problème sur un exo de C [RESOLU]
[Resolu] DataGrid colonne actuelle[ RESOLU ] Effacer des fichiers PDF qui ont plus d'une heure
[Resolu]Erreur à la fermeture de la balise HTML[Résolu] Probleme de mise en page
Plus de sujets relatifs à : [Résolu] éviter la complication avec explode()


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