Liste déroulante, valeur par défaut
Ga3z
Messages postés
67
Statut
Membre
-
Ga3z Messages postés 67 Statut Membre -
Ga3z Messages postés 67 Statut Membre -
Bonjour,
je suis bénévole pour une asso et je m'occupe de son site
j'ai un formulaire avec une liste déroulante alimenté par le champ "poste" de la table "fonctbureau" , qui enregistre les données choisies dans le champ "fonction" de la table "membres":
ça marche bien à part que je ne sais pas comment faire pour que par défaut le select soit vide
Ensuite, j'ai un autre formulaire qui récupère les données de la table "membres" et là, problème car je voudrais que ma liste déroulante soit toujours alimenté par la table "bureau", mais affiche par défaut la valeur trouvée dans la table membres c'est à dire: $donnees['fonction']
j'ai fait ce code:
mais ça marche pas
vous pourriez m'aider ?
je suis bénévole pour une asso et je m'occupe de son site
j'ai un formulaire avec une liste déroulante alimenté par le champ "poste" de la table "fonctbureau" , qui enregistre les données choisies dans le champ "fonction" de la table "membres":
<?php
echo '<p>Fonction:</p>';
echo ' <select name="fonction">';
$resfonction=mysql_query("SELECT fonction from fonctbureau") ;
while ($ligne=mysql_fetch_array($resfonction))
{
echo '<option>'.$ligne["fonction"].'</option>';
}
echo '</select>';
?>
ça marche bien à part que je ne sais pas comment faire pour que par défaut le select soit vide
Ensuite, j'ai un autre formulaire qui récupère les données de la table "membres" et là, problème car je voudrais que ma liste déroulante soit toujours alimenté par la table "bureau", mais affiche par défaut la valeur trouvée dans la table membres c'est à dire: $donnees['fonction']
j'ai fait ce code:
<?php
$fonction = $donnees['fonction'];
<p>Fonction
<select name="fonction" value="<?php echo $fonction; ?>">
<?php
$resfonction=mysql_query("SELECT poste FROM fonctbureau") ;
while ($ligne=mysql_fetch_array($resfonction))
{
echo '<option>'.$ligne['poste'].'</option>';
}
?>
</select>
mais ça marche pas
vous pourriez m'aider ?
A voir également:
- Liste déroulante, valeur par défaut
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Ouvrir avec par défaut - Guide
- Google page d'accueil par défaut - Guide
4 réponses
Salut,
1-comment faire pour que par défaut le select soit vide
il faut tjs mettre le value= dans les lignes d'option
2-
<?php
$fonction = $donnees['fonction'];//es tu sur de ça ce ne serait pas plutot la valeur choisie dans le formulaire 1 ??
//il te manquait la fermeture de php ci dessous
?>
<p>Fonction:
<select name="fonction" > <!-- pas de value= dans la balise select -->
<?php
$resfonction=mysql_query("SELECT poste FROM fonctbureau WHERE fonction='".$fonction."'") ;
while ($ligne=mysql_fetch_array($resfonction))
{
echo '<option value="'.$ligne['poste'].'">'.$ligne['poste'].'</option>';
}
?>
</select>
1-comment faire pour que par défaut le select soit vide
<?php
echo '<p>Fonction:</p>';
echo ' <select name="fonction">';
$resfonction=mysql_query("SELECT fonction FROM fonctbureau") ;
echo '<option value="" selected></option>'; //ligne d'option vide
while ($ligne=mysql_fetch_array($resfonction))
{
echo '<option value="'.$ligne["fonction"].'">'.$ligne["fonction"].'</option>';
}
echo '</select>';
?>
il faut tjs mettre le value= dans les lignes d'option
2-
<?php
$fonction = $donnees['fonction'];//es tu sur de ça ce ne serait pas plutot la valeur choisie dans le formulaire 1 ??
//il te manquait la fermeture de php ci dessous
?>
<p>Fonction:
<select name="fonction" > <!-- pas de value= dans la balise select -->
<?php
$resfonction=mysql_query("SELECT poste FROM fonctbureau WHERE fonction='".$fonction."'") ;
while ($ligne=mysql_fetch_array($resfonction))
{
echo '<option value="'.$ligne['poste'].'">'.$ligne['poste'].'</option>';
}
?>
</select>
ok pour le 1, merci
mais pour le 2
ça ne m'affiche que la valeur récupérée dans la base membres, c'est à dire $ligne['poste'] , et pas les autres possibilités de la table fonctbureau
(je vais me servir de ce formulaire pour pouvoir éventuellement modifier la fonction d'un membre et donc j'ai besoin de la liste des postes possibles, en plus de sa fonction actuelle )
mais pour le 2
<p>Fonction:
<select name="fonction" >
<?php
$resfonction=mysql_query("SELECT poste FROM fonctbureau WHERE poste='".$fonction."'") ;
while ($ligne=mysql_fetch_array($resfonction))
{
echo '<option value="'.$ligne['poste'].'">'.$ligne['poste'].'</option>';
}
?>
ça ne m'affiche que la valeur récupérée dans la base membres, c'est à dire $ligne['poste'] , et pas les autres possibilités de la table fonctbureau
(je vais me servir de ce formulaire pour pouvoir éventuellement modifier la fonction d'un membre et donc j'ai besoin de la liste des postes possibles, en plus de sa fonction actuelle )
si le gars est secrétaire, ça m'affiche secrétaire => ok mais si je veux dérouler la liste, y a rien d'autre
alors j'ai essayé d'adapter le code du cas n°1 (valeur nulle par défaut):
là c'est encore autre chose: il affiche bien la liste déroulante, mais la valeur par défaut semble être nulle (y a rien dans le select), par contre si j'actualise la page, la fonction que le gars occupe s'affiche impecc et j'ai bien ma liste qui se déroule en plus. C'est un peu boiteux comme solution d'avoir à actualiser la page, non ?
alors j'ai essayé d'adapter le code du cas n°1 (valeur nulle par défaut):
<?php
$resfonction=mysql_query("SELECT poste FROM fonctbureau ") ;
echo '<option value="'.$fonction.'" selected></option>'; //ligne d'option fonction actuelle
while ($ligne=mysql_fetch_array($resfonction))
{
echo '<option value="'.$ligne['poste'].'">'.$ligne['poste'].'</option>';
}
?>
là c'est encore autre chose: il affiche bien la liste déroulante, mais la valeur par défaut semble être nulle (y a rien dans le select), par contre si j'actualise la page, la fonction que le gars occupe s'affiche impecc et j'ai bien ma liste qui se déroule en plus. C'est un peu boiteux comme solution d'avoir à actualiser la page, non ?
C'est ça :
Dans la table fonctbureau, dans le champ "poste" il y a plusieurs valeurs: Président, Tecrétaire, Trésorier, etc... avec une id respectivement 1, 2 et 3 etc...
Dans la table membres, il y a le champs "nom" et le champ "fonction", ce dernier pouvant être vide si le membre n'a aucune fonction.
Mon formulaire doit servir à modifier une fiche membre en lui attribuant uen fonction ou en modifiant la fonction actuelle.
la liste déroulante, doit donc avoir en option les postes possibles venant de la table fonctbureau mais afficher par défaut la valeur du champ "fonction" de la table membres
Dans la table fonctbureau, dans le champ "poste" il y a plusieurs valeurs: Président, Tecrétaire, Trésorier, etc... avec une id respectivement 1, 2 et 3 etc...
Dans la table membres, il y a le champs "nom" et le champ "fonction", ce dernier pouvant être vide si le membre n'a aucune fonction.
Mon formulaire doit servir à modifier une fiche membre en lui attribuant uen fonction ou en modifiant la fonction actuelle.
la liste déroulante, doit donc avoir en option les postes possibles venant de la table fonctbureau mais afficher par défaut la valeur du champ "fonction" de la table membres