Liste déroulante alimenté doté de liens

Résolu
yahcine86 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -  
yahcine86 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai parcouru tout les forum, mais j'ai pas trouver de solution à mon pb.

le voici: sur une liste déroulante alimenté par une table mettre des lien vers des pages html

c'est une pages avec 3 listes, le contenu de la 3é dépend du choix fait sur les 2 précédentes.

arrivé sur la 3é, quant je click sur un élément dans cette dernière, je voudrai que cela me mené sur une autre pages nommé pareillement que le nom de l'élément sur le quel j'ai clické dessus.

voici mon code avec les 3 listes :

<form action="etudiants.php" method="post">
<!--LISTE D'ANNEE  -->
<select name="annee" >

<option value="">---------</option>
<option value="2001">2001</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>		

</select>

<!--LISTE  DES CLASSES  -->

<select name="classe" onChange='this.form.submit()'>

<option value="">---------------------</option>
<option value="BTS1">BTS1 - Premiere annee</option>
<option value="BTS2">BTS2 - deuxieme annee</option>

<?php
include("mysql.php");

$requete2="select * from etudiant 
                  where ANN_SCO ='".$_POST["annee"]."' 
                  AND   CLA_ETU like '%".$_POST["classe"]."%';";

$resultat2=mysql_query($requete2) or die("erreur sql: <br />$requete");
 ?>

</select>
<!--LISTE DES NOM -->
<select name="nom" onChange='this.form.submit()' >

<?php

include("mysql.php");

$requete3="select NOM_ETU from etudiant 
                   where ANN_SCO like '%".$_POST["annee"]."%' 
                   AND   CLA_ETU like '%".$_POST["classe"]."%';";

$req = mysql_query($requete3);

while($nom=mysql_fetch_array($req )) 
{
echo "<option>".$nom["NOM_ETU"]."</option>";						
}			
?>					
</select>
</form>



donc avec tout ce code j'arrive à afficher les 3 listes et avoir les bon élément dans la derniéres listes, matnn il me faudrai mettre des lien sur les élément de la derniére listes.

merci pour vos reponses.
A voir également:

3 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Bonsoir,
avec une petite fonction javascript:

<html>
<head>
<script language="javascript">
function ouvrir_lien(id_liste){
	//recup du nom selectionnné 
	lien_select=document.getElementById(id_liste).value;
	location.href=lien_select;
}
</script>
</head>
<form action="etudiants.php" method="post">
<!--LISTE D'ANNEE  -->
<select name="annee" >

<option value="">---------</option>
<option value="2001">2001</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>		

</select>

<!--LISTE  DES CLASSES  -->

<select name="classe" onChange='this.form.submit()'>

<option value="">---------------------</option>
<option value="BTS1">BTS1 - Premiere annee</option>
<option value="BTS2">BTS2 - deuxieme annee</option>
</select>
<?php
/*
 toute cette partie ne sert à rien 
include("mysql.php");

$requete2="select * from etudiant 
                  where ANN_SCO ='".$_POST["annee"]."' 
                  AND   CLA_ETU like '%".$_POST["classe"]."%';";

$resultat2=mysql_query($requete2) or die("erreur sql: <br />$requete");

*/
 ?>


<!--LISTE DES NOM -->
<select name="nom" id="nom" onChange="ouvrir_lien('nom');" >

<?php

include("mysql.php");

$requete3="select NOM_ETU from etudiant 
                   where ANN_SCO like '%".$_POST["annee"]."%' 
                   AND   CLA_ETU like '%".$_POST["classe"]."%';";

$req = mysql_query($requete3);

while($nom=mysql_fetch_array($req )) 
{
	//il faut que tu mettes un champ LIEN en plus dans ta table pour mettre un lien pour chaque nom
	echo "<option value="$nom['LIEN'].">".$nom['NOM_ETU']."</option>";						
}			
?>					
</select>
</form>
</html>
0
yahcine86 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   1
 
merci pr ta rep

pour eviter de changer ma table je peu pas faire

$nom['NOM_ETU'] au lieu de $nom['LIEN']
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Le texte du lien il faudra bien le prendre quelque part.

Je pensait que tu voulait que pour chaque étudiant cela ouvre une page différente pointée par un lien qui serait contenu dans la colonne que je te fait rajouter.

ou alors si tu mets $nom['NOM_ETU'] au lieu de $nom['LIEN'], il faut que la page appelée soit nommée toto.html pour l'étudiant toto
0
yahcine86 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   1
 
lol l'exemple toto.html pour l'étudiant toto illustre exactement ce que je veut faire.

est-ce possible ?
0
yahcine86 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   1
 
ça m'affiche un msg d'erreur :
Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\site yahya\etudiants.php on line 49


voici la ligne 49 : echo "<option value="$nom['NOM_ETU'].">".$nom['NOM_ETU']."</option>";
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894 > yahcine86 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
il manque juste un petit point:

echo "<option value=".$nom['NOM_ETU'].">".$nom['NOM_ETU']."</option>";
0
yahcine86 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   1 > Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention  
 
le point n'été pas le pb,mais merci ke mm, actuellement mon code marche le voici

<html>
	<head>
		<title>Etudiants</title>
		<script language="javascript">
			function ouvrir_lien(id_liste)
			{
				//recup du nom selectionnné 
				lien_select=document.getElementById(id_liste).value;
				location.href=lien_select;
			}
		</script>
	</head>
	<body   background="images/http1.jpg" TEXT="#330066" onselectstart="return false" oncontextmenu="return false" ondragstart="return false" onMouseOver="window.status='..message perso .. '; return true;">
		<span style="margin-left:140px;">     
			<img src="images/etudiants.jpg"> 
		</span>
		<center>
		<!--LISTE D'ANNEE  -->
		<form action="etudiants.php" method="post">
			<select name="annee" >
				<option value="">choisissez</option>
				<option value="2001">2001</option>
				<option value="2004">2004</option>
				<option value="2005">2005</option>
				<option value="2006">2006</option>
				<option value="2007">2007</option>		
			</select>
		
		<!--LISTE  DES CLASSES  -->
		
			<select name="classe" onChange='this.form.submit()'>
				<option value="">choisissez</option>
				<option value="BTS1">BTS1 - Premiere annee</option>
				<option value="BTS2">BTS2 - deuxieme annee</option>
			</select>
		
		<!--LISTE DES NOM -->
		
			<select name="nom" id="nom" onChange="ouvrir_lien('nom');" >
				<option value="">choisissez</option>
				<?php
				include("mysql.php");
				$requete3="select NOM_ETU from etudiant 
				           where ANN_SCO like '%".$_POST["annee"]."%' 
				           AND   CLA_ETU like '%".$_POST["classe"]."%';";
				$req = mysql_query($requete3);
				$ext=".html";
				while($nom=mysql_fetch_array($req )) 
				{
					echo "<option value=".$nom['NOM_ETU'].$ext.">".$nom['NOM_ETU']."</option>";				
				}			
				?>
			</select>
		</form>
	</center>
  </body>
</html>


merci encore pour ton aide
0