par
Spols » 15 déc. 2014, 16:29
Je suis pas sur de comprendre pourquoi tu as un double, je suppose que cela vient du fait que tu ajoute une balise option avant de parcourir ta requète.
Si c'est bien cela, il te faut décider si tu veux madame X toujours au dessus ou bien le classement de ta base te convient et juste la sélectionner par défaut
Si tu la veux au dessus :
<select id="membre" name="membre">
<?php if(isset($materiel)) echo '<option value="'.$materiel['id_membre'].'"selected = "selected">'.utf8_encode($materiel['nom'].' '.$materiel['prenom']).'</option>'; ?>
<?php
while( $data = mysqli_fetch_array($liste_membre)){
if(isset($id_membre_liste) && $id_membre_liste == $data['id_membre]){
continue;// Si on detecte que l'id du membre est égale à l'id sélectionner précedement, on le passe puisqu'il est dèjà en premiere ligne }
echo utf8_encode("<option value='".$data['id_membre']."'";
echo ">".$data['nom']." ".$data['prenom']."</option>");
}
?>
</select>
Tu notera que j'ai inclus tout l'echo de l'option dans un isset pour ne pas en générer un sans id et sans nom.
Sinon tu ne doit pas inclure ta première option et juste détecter lorsqu'elle se présente dans ta boucle
<select id="membre" name="membre">
<?php
while( $data = mysqli_fetch_array($liste_membre)){
echo utf8_encode("<option value='".$data['id_membre']."'";
if(isset($id_membre_liste) && $id_membre_liste == $data['id_membre]){
echo ' selected="selected" ';
}
echo ">".$data['nom']." ".$data['prenom']."</option>");
}
?>
</select>
La différence entre les 2 codes c'est l'id que tu recupère après l'envoi du formulaire, $materiel['id_membre'] ou $data['id_membre'] mais c'est probablement la même valeur
Je suis pas sur de comprendre pourquoi tu as un double, je suppose que cela vient du fait que tu ajoute une balise option avant de parcourir ta requète.
Si c'est bien cela, il te faut décider si tu veux madame X toujours au dessus ou bien le classement de ta base te convient et juste la sélectionner par défaut
Si tu la veux au dessus :
[php]<select id="membre" name="membre">
<?php if(isset($materiel)) echo '<option value="'.$materiel['id_membre'].'"selected = "selected">'.utf8_encode($materiel['nom'].' '.$materiel['prenom']).'</option>'; ?>
<?php
while( $data = mysqli_fetch_array($liste_membre)){
if(isset($id_membre_liste) && $id_membre_liste == $data['id_membre]){
continue;// Si on detecte que l'id du membre est égale à l'id sélectionner précedement, on le passe puisqu'il est dèjà en premiere ligne }
echo utf8_encode("<option value='".$data['id_membre']."'";
echo ">".$data['nom']." ".$data['prenom']."</option>");
}
?>
</select>[/php]
Tu notera que j'ai inclus tout l'echo de l'option dans un isset pour ne pas en générer un sans id et sans nom.
Sinon tu ne doit pas inclure ta première option et juste détecter lorsqu'elle se présente dans ta boucle
[php]<select id="membre" name="membre">
<?php
while( $data = mysqli_fetch_array($liste_membre)){
echo utf8_encode("<option value='".$data['id_membre']."'";
if(isset($id_membre_liste) && $id_membre_liste == $data['id_membre]){
echo ' selected="selected" ';
}
echo ">".$data['nom']." ".$data['prenom']."</option>");
}
?>
</select>[/php]
La différence entre les 2 codes c'est l'id que tu recupère après l'envoi du formulaire, $materiel['id_membre'] ou $data['id_membre'] mais c'est probablement la même valeur