lors de click sur option de liste déroulante

lors de click sur option de liste déroulante - PHP - Programmation

Marsh Posté le 28-05-2011 à 16:36:38    

Bonjour,
J'ai utilisé dans une page php une formulaire qui contient liste déroulante (select),ses options je les récupérer dans la base donnée mysql et ça marche pr moi.
le pb c'est que je vx cliquer sur n'importe valeur de la liste il faut qu'il m'affiche au même page une autre page qui contient une table des informations sur la valeur sélectionnée.
Je vx utiliser php .
s'il y a quelqu'un qui peut m'aider SVP..

Reply

Marsh Posté le 28-05-2011 à 16:36:38   

Reply

Marsh Posté le 30-05-2011 à 12:16:47    

faut faire ça en javascript. apres une modif du menu déroulant, soit tu fais une requete ajax pour mettre à jour une autre partie de la page. soit tu charge tout d'un coup dans un tableau javascript.

Reply

Marsh Posté le 30-05-2011 à 14:21:04    

Il faudrait donc gérer un événement onChange sur la boite de dialogue, et celui-ci appellerait soit de l'Ajax, soit ferait un Submit de la form. N.B. On pourrait être tenter de gérer le onClick sur chaque option, mais le onChange sur la balise select est préférable pour la listbox.

Reply

Marsh Posté le 01-06-2011 à 21:35:28    

voila mon code source que j'ai utilisé.
Il m'affiche les noms de sociétés sur la liste déroulante,mais le pb c'est que il n'affiche pas les infos sur les lauréats sur la même page,
la requette sql est correcte.
<code>
<html>
<head>
</head>
<body>
<?php
if(isset($_POST['liste1'])){
 //si la liste a été "postée" c ad choix fait
 $liste1=$_POST['liste1'];
}else{
 $liste1=-1;
}
?>
S&eacute;lectionnez une societe :
<form name="form1" method="post" action="affiche.php">
<select name="liste1" onChange="form1.submit();">
 <option value="-1">-- Choisissez -- </option> <!--  il faut cette ligne pour avoir obliagtoirement un changement -->
<?php
 
$connection = mysql_connect('localhost', 'root', '');
$base = mysql_select_db('etudiants_smi');
 
$requete = "SELECT nom_soc FROM societe";
$execution_requete = mysql_query($requete);
while($total = mysql_fetch_array($execution_requete))
 
//Liste déroulante
 
{
echo "<option value=\"".$total["nom_soc"]."\"";
if($liste1==$total['nom_soc']) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage  
echo ">".$total['nom_soc']."</option>\n";
}
 
?>
</select>
</form>
<?php
if($liste1 != -1){ //si on a fait un choix
 //on refait une requette avec une condition
 $requete = "select nom_lau,prenom_lau,tel_lau,email_lau from carriere,etat_civil,societe where carriere.cne_car=etat_civil.CNE and carriere.n_societe_car=societe.n_societe and societe.nom_soc='".$liste1."'";
//$requete = "select Nom,email,tel,n_societe from societe where Nom='".$liste1."'";
 $execution_requete = mysql_query($requete);
 
 // on affiche les valeurs correspondantes au nom selectionné, pas besoin de boucle while, il n'y en aura qu'un
 $total = mysql_fetch_array($execution_requete);
 //echo "les laureats de societe est :</br>";
 echo "Nom: ".$total['nom_lau']."<br />Prenom: ".$total['prenom_lau']."<br />Tel: ".$total['tel_lau']."<br />Email: ".$total['email_lau'];
 
}
/*else {
echo "erreur  $liste1  fffffffff";
}*/
 
//fermeture connexion à mysql
mysql_close();
 
?>
 
</body>
</html></code>

Reply

Sujets relatifs:

Leave a Replay

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