Page 1 sur 1

Select imbriqués

Posté : 31 août 2008, 12:38
par Podezebi
Bonjour,

Je vais essayer d'exposer mon nouveau probleme de facon simple (mais c'est pas gagné !!!)

Au niveau de mysql j'ai 3 table :
une talbe TYPEENT (idTypeent,libTypeent)
une table GROUPE (idgroupe,libgroupe)
une table ENTRAINEMENT (idTypeent,idgroupe) (cette table est créé par une relation nm... donc double clé primaire etrangere...)

Jusque la du classique !

Je voudrais avoir un select qui affiche le contenu de ma table typeent, puis que sur selection d'un de ces element, m'affiche, dans un second select, les libgroupe associé

<?php
			//Connexion à la base de donnée
			mysql_connect("localhost","root","root");
			mysql_select_db("Muscu");
			
			// requete GLOBAL
			$sql ="SELECT * FROM typeent ";
			$query = mysql_query($sql);
			
			
			//________________________________________________________________________________________//
			//___________________________________Premier Select __________________________________________//
			//________________________________________________________________________________________//
		?>
			<form method="POST" action="aj_serie.php">
				<select name="choixt" onchange=form.submit()>
				<?php
					if(isset($_POST['choixt'])) 
						$d=''; 
					else 
						$d='selected';
				?>
				<option <?php echo $d;?>></option>
				<?php
					while ($data2 = mysql_fetch_array ($query))
						{
							if(isset($_POST['choixt']) && $_POST['choixt']==$data2['idTypeent'])  
							$d='selected';
							else $d='';
						?>
	            <option value="<?php echo $data2['idTypeent']; ?>" <?php echo $d;?>> <?php echo $data2['libTypeent'];?></option></br>
	            <?php 
						}
				?>
				</select><p>
				<?php 
				//________________________________________________________________________________________//
				//___________________________________Second Select __________________________________________//
				//________________________________________________________________________________________/
				?>
					<select name="choixg">
				<?php	
					$critere=$_POST['choixt']; 
					$sql2 ="SELECT * 
					FROM entrainement WHERE idTypeent=".$critere."
					INNER JOIN groupe ON entrainement.idgroupe = groupe.idgroupe 
					INNER JOIN typeent ON entrainement.idTypeent = typeent.idTypeent";
					$query2 = mysql_query($sql2);		
					if(isset($_POST['choixg'])) 
						$d=''; 
					else 
						$d='selected';
					?>
					<option <?php echo $d;?>></option>
					<?php
						while ($data3 = mysql_fetch_array ($query))
							{
								if(isset($_POST['choixg']) && $_POST['choixg']==$data2['idgroupe'])  
								$d='selected';
								else $d='';
					?>
			            <option value="<?php echo $data2['idgroupe']; ?>" <?php echo $d;?>> <?php echo $data2['libgroupe'];?></option></br>
			        <?php 
							}
					?>
						</select><p>
Une fois que j'ai selectionné ma premiere valeur, mon script me balance en toute logique directement vers le aj_serie.php !!! comment pourais-je m'en sortir???

pour info, il est associer une 3em table dans le kel seront inséré mes idgroupe,idtypeent, et une troisieme donnée que je choisirai ici... je pense que ca aidera pas a resoudre le probleme le select mais bon ! j'y vais étape par etape !

Merci de votre aide

Posté : 31 août 2008, 19:07
par Djay51
Je n'ai pas tout saisi. Mais si j'ai compris un minimum, tu veux être redirigé sur aj_serie.php uniquement si toutes les étapes sont validées ?

Dans ce cas il faut un form comme ça :

Code : Tout sélectionner

<form method="POST" action=#>
Et une redirection PHP si l'étape est OK :
header('Location: aj_serie.php');

A la fin de ton code, après la dernière boucle :
}
else
{
     header('Location: aj_serie.php');
}

Voilà comme je t'ai dit je n'ai pas tout saisi ta requête. Mais peut-être pourras-tu déjà te baser sur ce que je viens de te donner.

Posté : 31 août 2008, 19:18
par Invité
Je t'avoue qu'apres avoir galerer une apres midi entiere sur la chose (malgres pas mal de tuto sur les liste liées) j'ai abandonné :s
Je passe maintenant par 2 pages ... plus lourd, mais ca fonctionne !

Merci de ta réponse !

Posté : 31 août 2008, 19:27
par Djay51
Ok ;) Si tu as trouvé une alternative en une après-midi ça va encore. Moi il m'est arrivé de passer des jours entiers sur une seule problématique !