Select, liste déroulante

griko Messages postés 401 Statut Membre -  
griko Messages postés 401 Statut Membre -
Bonjour,
je voudrais faire plusieurs select.
On ajoute un select quand on a changer la valeur du précédent.
Et on affiche pas dans la liste déroulante que l'on vient d'ajouter ainsi que dans toutes les autres sauf la précédente, la valeur de la précédente liste.

Voici le code ;
<?php
	echo'<form name="formulaire" action"" method="POST">';
	$i=0;
	$tot=0;
	$notionalite=array('fr','es','uk');
	
			foreach($notionalite as $notionalit)
			{	
			$tot++;
			$tot2=count($notionalite);
			
			$i2 = $i - 1;
	
		if(isset($_POST['id'.$i2]) OR $i==0)
		{
			echo'<select name="id'.$i.'" onchange="formulaire.submit()">
			<option></option>';
			$tt='';

			foreach($notionalite as $notionalit)
			{
				if($_POST["id".$i2]!=$notionalit)
				{
					echo'<option value="'.$notionalit.'"'; if($_POST['id'.$i]==$notionalit){echo'selected="selected"';} echo'>'.$notionalit.'</option>';
				}
			}
			echo'</select>';
			$i++;
		}
			}
	echo'</form>';
?>


Pour moi, je pense que c'est la condition if
if($_POST["id".$i2]!=$notionalit)
qu'il faut changer mais je vois pas comment ajouter le nom du formulaire au fur et a mesure.
A voir également:

7 réponses

gaerebut Messages postés 1060 Statut Membre 171
 
Salut,

ton problème est simple je pense mais ... il veut rien dire !!! lol
Essaye de bien formuler clairement ton problème et je t'aiderai !
De plus, je ne comprend pas les gens qui utilise des noms de variables pas claires du tout ... $tot,, $tot2, $tt, ...

:-(

Si tu veux de l'aide ... aide nous déjà à comprendre ce que tu cherches à faire! lol

A+

Gaerebut
0
griko Messages postés 401 Statut Membre 10
 
Pour les variable c'était des test!!
En gros on a un formulaire avec un select.
Quand on change la valeur, un autre slecte s'affiche ensuite.

Et ainsi de suite avec un nombre limite, le même nombre que de ligne dans les select.

9a sa fonctionne.

Mais je voudrais rajouter :
supprimer les lignes option dans les select si la valeur à été choisi dans un autre sélect afin qu'il y ai pas de doublons.

Est-ce claire ?
0
gaerebut Messages postés 1060 Statut Membre 171
 
C'est à dire que je me mélange un peu avec tout ces select ! :s

J'ai compris:

Un SELECT X contient N option. Quand on choisis n option, il y a a création d'un SELECT X(n) à côté sachant qu'il y a X(N) SELECT possible.

Ensuite, j'ai cru comprendre que tu veux retirer des lignes dans le SELECT X mais mettre a jour en même temps les possibilité X(N)

Est-ce bien ça ????

A+

Gaerebut
0
griko Messages postés 401 Statut Membre 10
 
Oui !
Et il a la juste la partie supprimer les ligne option qu'il me manque que je n'arrive pas a résoudre
0
gaerebut Messages postés 1060 Statut Membre 171
 
Si tu veux qu'il est notion de sauvegarde (au raffraichissement de la page, les lignes sont les même, même si tu en as supprimé avant), tu dois forcément passer par une BDD ou par les fichiers pour stocker le contenu du listbox !

Si ce n'est pas le cas et que tu veux "simplement" faire ça de manière dynamique, tu perdra tout au rafraichissement de la page (Tes champs supprimés seront de retour :-D).

Que souhaites-tu ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
griko Messages postés 401 Statut Membre 10
 
je pense qu'il suffi de faire un boucle avec les nom des sélect quand je met un nombre limité, et que dans la condition j'énumère tous les différents select, cela fonctionne très bien, mais comment faire une boucle pour les conditions d'un if ?
0
gaerebut Messages postés 1060 Statut Membre 171
 
Si tu veux qu'il est notion de sauvegarde (au raffraichissement de la page, les lignes sont les même, même si tu en as supprimé avant), tu dois forcément passer par une BDD ou par les fichiers pour stocker le contenu du listbox !

Si ce n'est pas le cas et que tu veux "simplement" faire ça de manière dynamique, tu perdra tout au rafraichissement de la page (Tes champs supprimés seront de retour :-D).

Que souhaites-tu ?
0
griko Messages postés 401 Statut Membre 10
 
Je viens de le dire :
Je pense qu'il suffi de faire un boucle avec les nom des sélect quand je met un nombre limité, et que dans la condition j'énumère tous les différents select, cela fonctionne très bien, mais comment faire une boucle pour les conditions d'un if ?

Il y a juste a faire une condition bouclé dans le if

sinon comment tu fais concrètement (en code) ?
0