[PHP] liste déroulante

Résolu/Fermé
Signaler
Messages postés
3
Date d'inscription
jeudi 3 janvier 2008
Statut
Membre
Dernière intervention
8 janvier 2008
-
Messages postés
3
Date d'inscription
jeudi 3 janvier 2008
Statut
Membre
Dernière intervention
8 janvier 2008
-
Bonjour,

Je souhaite afficher dans un formulaire une liste déroulante dont les données sont récupérées d'une table MySQL. Je voudrait avoir la possibilité de rajouter de nouvelles données dans cette même liste déroulante.

Ceci est-il possible en PHP ? Si oui, comment ?

Voici un extrait du code correspondant à la récupération des infos dans ma table mais qui ne me permet pas d'ajouter de nouvelles infos dans ma liste :

echo "<td>Affaire: </td>";
echo "<td><select name=\"affaire"\ size)\"1\">";
$sql = "select affaire from T_AFFAIRES";
$resultat = mysql_query($sql);
while($data = mysql_fetch_array($resultat)) {
echo "<option value=\"data[affaire]\">$data[affaire]</option>"
}


D'avance merci pour tout éléments de réponse que vous pourrais me fournir.

8 réponses

Messages postés
117
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
28 août 2008
50
Slt !

tu a juste a rajouté des balises <option value="x">aaaaa</option>
0
Messages postés
793
Date d'inscription
vendredi 20 octobre 2006
Statut
Contributeur
Dernière intervention
4 septembre 2011
161
Salut,

Biensur que c'est possible : il suffit de mettre une ligne avec un echo juste avant ta boucle while :
$resultat = mysql_query($sql);
echo "<option value=\"valeur\">nom</option>";
while($data = mysql_fetch_array($resultat)) { 
echo "<option value=\"data[affaire]\">$data[affaire]</option>" ;
}


Encore une chose, ce bout de code, tu l'as copier/collé ou tu l'as réécrit à la main ? Parce qu'il y a quelques petites erreurs ... :D

@Bientôt
0
Messages postés
793
Date d'inscription
vendredi 20 octobre 2006
Statut
Contributeur
Dernière intervention
4 septembre 2011
161
Alors la, plus simultané que ça, ça devient difficile ... :D

PS : c'est fou, j'ai eu deux secondes de retard, mais je suis avant ... :D
0
Messages postés
117
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
28 août 2008
50
ouais marrant xD
0
Messages postés
3
Date d'inscription
jeudi 3 janvier 2008
Statut
Membre
Dernière intervention
8 janvier 2008

Bonjour,

Merci pour les réponses simultanées. Mais comme je me suis mal expliqué, ceci ne correspond pas au résultat que j'attendais. Ta réponse me permet de simplement de rajouter une ligne dans ma liste déroulante.

Ce que je cherche à faire c'est afficher une liste déroulante et si l'info n'est pas dans la liste, pouvoir saisir une nouvelle affaire qui sera alors intégrer dans ma table MySQL.

Voici un exemple :
J'ai actuellement dans ma liste déroulante Affaire1, Affaire2, Affaire3. Au travers de mon formulaire, si l'affaire que je souhaite saisir n'est pas dans ma liste déroulante, je souhaite pouvoir saisir "Affaire4" et l'intégrer à ma table MySQL.

PS: Concernant le bout de code que j'avais posté, je l'avais réécris à la main. Il y a effectivement une erreur dans ...<select name=\"affaire"\... qui s'écrit plutôt ...<select name=\"affaire\" ... Si il y en a d'autre, je suis ouvert à toutes propositions car mes débuts en PHP sont un peu difficile.

J'espère avoir été un peu plus clair.

Cordialement
0
Messages postés
793
Date d'inscription
vendredi 20 octobre 2006
Statut
Contributeur
Dernière intervention
4 septembre 2011
161
A ok, j'avais pas compris ça ... :D

Pour faire ça, tu dois mettre une ligne avec le texte "Ajouter", par exemple, qui ouvre une nouvelle page avec un formulaire standard, et c'est ce formulaire qui va ajouter une entrée à la BDD. Un fois fait, tu pourras recharger la page avec la liste déroulante.

En esspèrant avoir mieux compris la question,
0
Bonjour,

Si j'ai bien compris, tu veux afficher grace à PHP une liste déroulante avec des valeurs lues dans la base, et ensuite que l'utilisateur puisse rajouter des lignes dans la laiste et que tout ça puisse etre sauvegardé dfans la base.

Alors,tu fais comme dans ton post 1 et esnuite tu vas rahjouter des elements grace à Javascript.

uil sufit de mettre un champ à côté de ta liste dans lequel on va rentrer la valeur à ajouter, et par un bouton Ajouter tu appelles un fct JS qui va ajoter l'élément dans ta liste

Vas voir sur Google comment faire.

document.getElementById('....') vient lire le contenu du champ
et inspires toi de cette fonction:

function ajouter(nom_formulaire,id_adresse,id_liste){
		var obj=document.getElementById(id_adresse);
 				
			 nouvel_element = new Option(obj.value,obj.value,false,false);
			 var obj2=document.getElementById(id_liste);
 			obj2.options[obj2.length] = nouvel_element;
 			obj.value = "";
			return true;
		}


0
Messages postés
3
Date d'inscription
jeudi 3 janvier 2008
Statut
Membre
Dernière intervention
8 janvier 2008

Merci a tous les deux pour vos réponses. Je vais utiliser un formulaire.
0