recuperation de valeur dans une liste deroulante en fonction

Petit nouveau ! | 4 Messages

23 févr. 2014, 19:47

Bonjour, je voudrais récupérer la valeur sélectionnée dans ma liste déroulante par ligne si celle ci a été cochée.
pour le moment je récupère l'info, la case cochée me retourne un Id, mais je voudrais qu'en même temps, récupérer le choix dans la liste déroulante de cette ligne, comment faire? merci.
Voilà mon code :
<?php
	if($_SERVER['REQUEST_METHOD'] == 'POST'){
	// je vérifie qu'au moins une case est cochée
		if (!isset($_POST['choix'])){
			monalerte('toto');
		}
		else{
	// Je récupère l'id des lignes dont la case est cochée
		$tableau =($_POST['choix']);
			for($i=0;$i<sizeof($tableau);$i++) // tant que $i est inferieur au nombre d'éléments du tableau... 
			{ 
				echo $tableau[$i]; // on affiche l'élément du tableau d'indice $i 
				// recupération du choix liste déroulante 

			} 
		}

}
	
	?>
		<div class="reconnaissance">			
			<table cellspacing="1px" cellpadding="15px" border="1px" align="center">
				<form action="#" method="post">
						<?php			
							$people = avanthabilitation($connexion);				
								for($i=0;$i<sizeof($people);$i++) // tant que $i est inferieur au nombre d'éléments du tableau... 
								{ 
									echo "<tr>
										<td><input type='checkbox' name='choix[]' value='".$people[$i]['id'] ."'/></td>
											<td>".$people[$i]['civ']."</td>
											<td>".$people[$i]['username']."</td>
											<td>".$people[$i]['firstname']."</td>
											<td>".$people[$i]['login']."</td>
											<td>".$people[$i]['email']."</td>
											<td><input type='hidden' name='role[]' value='".$people[$i]['role']."'/>												<select name=profil[]>
													<option value=user>A d\351finir</option>
													<option value=user>utilisateur</option>
													<option value=manager>d\351posant</option>
												</select>
											</td>
										</tr>"; 
								} 
						?>		
					<p><center><input type=submit  value=Valider name="btsubmit"></center></p>
				</form>
			</table>		
		</div>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 févr. 2014, 08:28

Salut,

Utilise foreach plutôt qu'un for pour parcourir le tableau.

La solution réside dans le le fait que le select aura les mêmes index que la case a cocher du coup

A $_POST['choix'][$index] correspond $_POST['profil'][$index].


@+
Il en faut peu pour être heureux ......