creer une requete sql a partir d'1 formlaire

creer une requete sql a partir d'1 formlaire - PHP - Programmation

Marsh Posté le 12-06-2008 à 11:56:15    

bonjour, d'abord le code ensuite j'explique.....en fait il s'agit de recuperer la value des checkbox si elles sont cochées les utiliser dans la requete :whistle:  :

Code :
  1. $z=0;
  2. if(isset($_POST['submit'])){
  3. $societe_selectionnes = " ";
  4. for($i=1;$i<4;$i++){
  5. for($j=1;$j<15;$j++){
  6.  for($k=1;$k<18;$k++){
  7. $societe = "societe".$i;
  8. if(isset($_POST[$societe])){
  9. $societe_selectionnes .= $_POST[$societe].',';
  10. }
  11. $site = "site".$j;
  12. if(isset($_POST[$site])){
  13. $site_selectionnes .= ", ".$_POST[$site];
  14. }
  15. $service = "service".$k;
  16. if(isset($_POST[$service])){
  17. $service_selectionnes .= ", ".$_POST[$service];
  18. }
  19. }
  20. }
  21. }
  22. $requete=mysql_query("select id,nom,prenom from ".$societe_selectionnes."" );
  23. while ($row=mysql_fetch_row($requete)){
  24. $id = $row[0];
  25. $nom=$row[1];
  26. $prenom=$row[2];
  27. if ($id>1){
  28. $z++;
  29. $resultat="fiche_perso.php?id=$id";
  30. $resultat2="<a href=$resultat>$nom $prenom </a>";
  31. echo $resultat2.'<br><br>';
  32. }
  33. }
  34. }
  35. echo $z. " résultats trouvés dans la base de données";


 
Voila donc en gros les 3 boucles c'est parce qu'il y a 3 types de checkbox....... puis je veux les placer dans ma requete :
pr celles de la 1ere boucles je veux que ca definissent les bases ds le FROM
2eme boucle: Une condition du where
3eme boucle: Une autre condition......
mais comment gerer sa?? par exemple le coup des virgules et egalement les jointures dans le where...
enfin help je suis paumé lol

Reply

Marsh Posté le 12-06-2008 à 11:56:15   

Reply

Marsh Posté le 12-06-2008 à 14:01:08    

Bah tu scindes chaque partie de ta requête et tu la construis. Tu fais comme si c'était pas le dernier maillon et à la fin de ta boucle pour la partie concernée tu vires les trucs qui ne devraient pas être là (, and, or...) après les manipulateurs de chaine qui sont un peu l'apanage de php.
 
PS: après le from c'est une table pas une base, c'est la base qui porte les tables. Tu te connectes à la base et te balades dans ses tables ;)
 
PS2: penser aussi éventuellement aux procédures/fonctions stockées ou sous requêtes. Pour l'optimisation faut regarder et laisser ça aux pros :D

Reply

Marsh Posté le 12-06-2008 à 14:22:21    

ben pour l'optimisation deja j'ai separé les boucles...sa ne sert a rien de les imbriquer a par perdre du tps....

Reply

Marsh Posté le 13-06-2008 à 03:44:18    

Je pensais plutot niveau sql mais en effet une boucle qui sert à rien ne sert...à rien :D

Reply

Sujets relatifs:

Leave a Replay

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