Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2008, 12h00   #1
Membre du Club
 
Avatar de Lenezir
 
Inscription : février 2006
Messages : 129
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : février 2006
Messages : 129
Points : 56
Points : 56
Par défaut Récupérer la valeur d'une liste déroulante

Salut ^^
J'ai dans un tableau la liste de tout le personnel de ma boîte (liste tirée d'une BDD).
J'ai un bouton modifier en face de chaque entrée (chaque personne).
Pour chaque champ, la valeur précédente est entrée dans la case de texte, sauf pour un champ, une liste déroulante.
Cette liste déroulante contient tous les postes.
Comment récupérer le poste déjà enregistré ?
Voici le code :
Code :
1
2
3
4
5
6
7
8
9
10
<select name="fonctions">
<?php
	while($fonctions = mysql_fetch_array($fonctions_brute))
	{
?>
		<option name="fonctions" value="<?php echo $fonctions['fonction']; ?>"><?php echo $fonctions['fonction']; ?></option>
<?php
	}
?>
</select>
Merci ^^
Lenezir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 12h07   #2
Membre éprouvé
 
Développeur Web
Inscription : avril 2005
Messages : 395
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 395
Points : 479
Points : 479
tu veux qu'en face de chaque personnes, le poste occupé soit sélectionner dans la liste déroulante correspondante ?? c'est bien ça ?


si j'ai bien compris tu dois faire :


récupérer le poste de chaque personne et comparé avec la liste des postes
Code :
1
2
if($fonction['fonction'] == $fonction_occupe) $selected = ' selected';
<option value="<?=$fonction['fonction']?>" <?=$selected?> ><?=$fonction['fonction']?></option>
Gats est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 12h15   #3
Membre du Club
 
Avatar de Lenezir
 
Inscription : février 2006
Messages : 129
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : février 2006
Messages : 129
Points : 56
Points : 56
Oui c'est ça
Lenezir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 15h02   #4
Membre du Club
 
Avatar de Lenezir
 
Inscription : février 2006
Messages : 129
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : février 2006
Messages : 129
Points : 56
Points : 56
Merci pour ta réponse Gats
Ta réponse me semble logique mais ça ne marche pas
Mais le problème vient sûrement de moi.
Je vais mettre le max de code possible.
Ca commence comme ça :
Code :
1
2
$fonctions_brute = mysql_query("SELECT fonction FROM fonction ORDER BY fonction ASC") or die(mysql_error());
$liste_brute = mysql_query("SELECT * FROM personnel ORDER BY num_int ASC") or die(mysql_error());
pour récupérer la liste des fonctions, puis
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while($liste = mysql_fetch_array($liste_brute)) // Liste du personnel
{
?>
					<tr>
						<td><?php echo $liste['service']; ?></td>
						<td><?php echo $liste['fonction']; ?></td>
						<td><?php echo $liste['nom']; ?></td>
						<td><?php echo $liste['num_int']; ?></td>
						<td><?php echo $liste['num_ext']; ?></td>
						<td><?php echo $liste['num_port']; ?></td>
						<td><?php echo $liste['num_fax']; ?></td>
						<td><?php echo $liste['email']; ?></td>
						<td><a href="./index.php?page=repertoire&modif=1&IdServ=<?php echo $liste['IdServ']; ?>&service=<?php echo $liste['service']; ?>&fonction=<?php echo $liste['fonction']; ?>&nom=<?php echo $liste['nom']; ?>&num_int=<?php echo $liste['num_int']; ?>&num_ext=<?php echo $liste['num_ext']; ?>&num_port=<?php echo $liste['num_port']; ?>&num_fax=<?php echo $liste['num_fax']; ?>&email=<?php echo $liste['email']; ?>">Modifier</a></td>
					</tr>
			<?php
				}
Pour la mettre dans un tableau.
Quand on clique sur le bouton "Modifier", toutes les valeurs vont dans la barre d'adresse (et ça, ça marche).
Puis voici le formulaire de modification du champ qui m'embête :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<select name="fonctions">
							<?php
								while($fonctions = mysql_fetch_array($fonctions_brute))
								{
									if($fonctions['fonction'] == $_GET['fonction']) // Ton code :P
									{
										$selectedf = ' selected';
									}
							?>
									<option name="fonctions" value="<?php echo $fonctions['fonction']; ?>"<?php echo $selectedf; ?>><?php echo $fonctions['fonction']; ?></option>
							<?php
								}
							?>
Voilà tout est là. J'ai remplacé la variable $fonction_occupe par la variable qui se trouve dans mon tableau ($liste['fonction']).
Qu'est-ce qui cloche ?
Merci
Lenezir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 16h22   #5
Membre du Club
 
Avatar de Lenezir
 
Inscription : février 2006
Messages : 129
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : février 2006
Messages : 129
Points : 56
Points : 56
J'ai du nouveau.
J'ai ajouté un morceau de code pour tester les variables :
Code :
<?php echo $selectedf; ?>|<?php echo $fonctions['fonction']; ?>|<?php echo $_GET['fonction']; ?>
Et la $fonctions['fonction'] ne retourne rien. Mais le selected est bien ajouté, mais ça m'affiche le tout dernier choix de la liste.

EDIT : Quoique au final je ne sais pas si ça veut dire quoi que ce soit, car je veux afficher avec un echo une liste, ça ne marchera jamais. Et cette variable $fonctions['fonction'] marche puisque la liste déroulante est pleine.
Je sais plus quoi faiiiiire
Lenezir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 16h32   #6
Membre du Club
 
Avatar de Lenezir
 
Inscription : février 2006
Messages : 129
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : février 2006
Messages : 129
Points : 56
Points : 56
J'ai réussi !!!!!!

Voici le code final :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<select name="fonctions">
							<?php
								while($fonctions = mysql_fetch_array($fonctions_brute))
								{
									if($fonctions['fonction'] == $_GET['fonction'])
									{
										$selectedf = ' selected';
							?>
									<option name="fonctions" value="<?php echo $fonctions['fonction']; ?>"<?php echo $selectedf; ?>><?php echo $fonctions['fonction']; ?></option>
							<?php
									}
							?>
									<option name="fonctions" value="<?php echo $fonctions['fonction']; ?>"><?php echo $fonctions['fonction']; ?></option>
 
							<?php
								}
							?>
							</select>
Lenezir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 16h35   #7
Membre éprouvé
 
Développeur Web
Inscription : avril 2005
Messages : 395
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 395
Points : 479
Points : 479
bon me revoilà ^^


EDIT : bon ben c'est cool alors
Gats est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h18.


 
 
 
 
Partenaires

Hébergement Web