recuperation du choix de la liste deroulante dans requete sql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : recuperation du choix de la liste deroulante dans requete sql

par d0m » 03 août 2007, 14:19

le traitement en début de page :
//teste si un élement  a été selectionné dans la liste
if(isset($POST['cat'])){
  //on récupère la requête associée à la valeur de la liste
  $sql_requete = requete_associee($POST['cat']);
  /* partie executant la requete SQL 
      et rangeant le résultat dans le tableau $resultat_requete
  */
}

pour l'affichage de la liste :
echo '<select size=1 name="cat" onchange="this.form.submit();">'."\n"; 
  echo '<option value="-1">Choisir un groupe<option>'."\n"; 

  $sql ="select DISTINCT (`JOB TITLE`)  from SVG" ; 
  $res=LanceRequete("SVG",$sql);    //fonction qui recupere mon resultat de requete pour la liste  

  while ($resultat = mysql_fetch_row($res)) { 
    echo '<option value="'.$resultat[0].'">'.$resultat[0]; 
    echo "$option_selected"; 
    echo '</option>'."\n"; 
  } 

  echo '</select>'."\n"; 

  //affichage du résultat de la requête
  afficher_resultat($resultat_requete);
C'est pas du code à copier coller tel quel, j'ai mis des fonctions pour expliquer le fonctionnement.
A toi d'y placer le bon code pour faire ce qu'elle représente.

par johnben2 » 03 août 2007, 14:00

Merci
vous n'auriez pas un exemple par hasard ?

par d0m » 03 août 2007, 13:35

tu peux en changeant d'élement dans la liste valider le formulaire dans laquelle elle se trouve et qui a pour action lorsqu'on le valide la page elle même.

Au chargement de la page :
- tu vérifies quel élement a été selectionné avant le rechargement dans la liste déroulante
- tu executes la requête qui correspond à cet élement
- et tu affiches dans la même page le résultat de la requête.

Par contre il te faut une correpondance entre les élements de la liste déroulante et les requetes sql que tu veux executer.

recuperation du choix de la liste deroulante dans requete sq

par johnben2 » 03 août 2007, 12:36

Bonjour,

J'ai une liste deroulante, et je voudrais lors de la selection d'un choix dans cette liste afficher (dans une autre page ou la meme // le plus simple ) afficher le resultat d'une requete sql.
voici mon tout petit bout de code pour la liste deroulante, je sais pas quoi mettre pour recuperer le choix et afficher le resultat de ma requete
J'ai vu pas mal de truc sur le forum mais etant vraiment debutant je n'arrive pas a adapter les codes.
Merci
<?


  echo '<select size=1 name="cat">'."\n";
  echo '<option value="-1">Choisir un groupe<option>'."\n";

  $sql ="select DISTINCT (`JOB TITLE`)  from SVG" ;
  $res=LanceRequete("SVG",$sql);    //fonction qui recupere mon resultat de requete pour la liste 

  while ($resultat = mysql_fetch_row($res)) {
    echo '<option value="'.$resultat[0].'">'.$resultat[0];
    echo "$option_selected";
    echo '</option>'."\n";
  }

  echo '</select>'."\n";



?>