[PHP] liste déroulante

Résolu/Fermé
ave1810 Messages postés 3 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 8 janvier 2008 - 3 janv. 2008 à 16:39
ave1810 Messages postés 3 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 8 janvier 2008 - 8 janv. 2008 à 08:23
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.
A voir également:

8 réponses

absurdsystem Messages postés 117 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 28 août 2008 50
3 janv. 2008 à 19:15
Slt !

tu a juste a rajouté des balises <option value="x">aaaaa</option>
0
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
3 janv. 2008 à 19:15
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
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
3 janv. 2008 à 19:20
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
absurdsystem Messages postés 117 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 28 août 2008 50
3 janv. 2008 à 19:28
ouais marrant xD
0

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

Posez votre question
ave1810 Messages postés 3 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 8 janvier 2008
4 janv. 2008 à 08:29
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
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
5 janv. 2008 à 09:33
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
ave1810 Messages postés 3 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 8 janvier 2008
8 janv. 2008 à 08:23
Merci a tous les deux pour vos réponses. Je vais utiliser un formulaire.
0