Select, liste déroulante

Fermé
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 - 11 déc. 2009 à 11:30
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 - 11 déc. 2009 à 12:15
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.

7 réponses

gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
11 déc. 2009 à 11:41
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 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
11 déc. 2009 à 11:45
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 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
11 déc. 2009 à 11:54
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 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
11 déc. 2009 à 11:57
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 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
11 déc. 2009 à 12:00
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 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
11 déc. 2009 à 12:04
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 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
11 déc. 2009 à 12:10
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 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 10
11 déc. 2009 à 12:15
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