8768 sujets

Développement web côté serveur, CMS

Bonjour,
Impossible de faire fonctionner ma boucle.
2 Problèmes :
- Manque la première ligne de la requête qui je précise fonctionne testée directement sur sql phpmyadmin (il y a trois lignes)
- La condition selected=selected ne fonctionne pas

Je voudrais un select global avec toutes les lignes dans le cas où il n'y a pas de idModif.
Et dans la cas où il y a une idModif, le select affiche les données du selected selected par défaut mais il est possible d'en changer.
Merci de me mettre sur la piste.
Mon code :

<label for="etablissement">Etablissement*</label>
<select style="inline-block" class="form-control" name="etablissement" id="etablissement" required>
		<option value="0">--- Choix établissement/recruteur ---</option>
			<?php
                         while ($rsEts= mysqli_fetch_assoc($Ets)):
				if($rsEts['etablissement_id']== $idStructure){ ?>
				<option value="<?php echo $rsEts['etablissement_id']; ?>"     selected="selected"><?php echo Securite::html($rsEts['etablissement_nom']); ?></option>
			<?php 
				} else {
					if ($modId=="") {?>
				<option value="<?php echo $rsEts['etablissement_id']; ?>"><?php echo Securite::html($rsEts['etablissement_nom']); ?></option>
				<?php  } }
endwhile; ?>
</select>
Salut,
Voilà quelques améliorations pour te mettre en piste.


<label for="etablissement">Etablissement*</label>
<select style="display:inline-block" class="form-control" name="etablissement" id="etablissement" required>
	<?php
	
		echo (empty($modId)) ? '<option value="0">--- Choix établissement/recruteur ---</option>' : '';
		
		//TEST -- Manque la première ligne de la requête qui je précise fonctionne testée directement sur sql phpmyadmin (il y a trois lignes)
		mysqli_data_seek($Ets, 0); // Permet de remettre le pointeur à 0
		
		while($rsEts = mysqli_fetch_assoc($Ets))
		{
			
			$idEtablissement = $rsEts['etablissement_id'];
			$nomEtablissement = Securite::html($rsEts['etablissement_nom']);
			
			if(!empty($modId) and $idEtablissement == $idStructure)
			{
				// -- Je voudrais un select global avec toutes les lignes dans le cas où il n'y a pas de idModif.
				echo '<option value="'.$idEtablissement.'" selected>'.$nomEtablissement.'</option>';
				
			}
			else
			{
				// -- Et dans la cas où il y a une idModif, le select affiche les données du selected selected par défaut mais il est possible d'en changer.
				echo '<option value="'.$idEtablissement.'">'.$nomEtablissement.'</option>';
				
			}
			
		}
		
	?>
</select>


N'ayant pas connaissance de ton code, je ne suis pas certain pour le
mysqli_data_seek($Ets, 0);


Je te laisse vérifier
Modifié par maelstaudt (19 Aug 2024 - 12:22)