Garder un champ d'un select selected
Résolu
Charleeeee
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Charleeeee Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Charleeeee Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai besoin de votre aide, cela fait maintenant des tonnes d'heures que je bug sur un petit bout de code qui m'énerveeeeeee !! Je n'arrive pas à voir l'erreur ..
Alors voilà, ma demande est simple, je réalise un formulaire de modification de profil, donc les informations de la personne sont près rempli. Tous les champs fonctionnes sauf mon select ..
Je récupère bien les informations, mon select fonctionne, mais c'est au moment de le garder selected que je bloque.
Es ce que quelqu'un peut m'aider svpp :D !
Merci par avance
J'ai besoin de votre aide, cela fait maintenant des tonnes d'heures que je bug sur un petit bout de code qui m'énerveeeeeee !! Je n'arrive pas à voir l'erreur ..
Alors voilà, ma demande est simple, je réalise un formulaire de modification de profil, donc les informations de la personne sont près rempli. Tous les champs fonctionnes sauf mon select ..
Je récupère bien les informations, mon select fonctionne, mais c'est au moment de le garder selected que je bloque.
Es ce que quelqu'un peut m'aider svpp :D !
Merci par avance
<div class="form-group">
<div class="col-md-8">
<label for="region">Votre region :</label>
<select name="region" id="region" class="form-control">
<option value="ras">Selectionnez</option>
<?php
$query = $mysqli -> query("SELECT * FROM region");
$nb = $query -> num_rows;
if($nb > 0){
while($row = $query -> fetch_array()){
//Récupération de tous les id_region dans la table région
$id_regionall = $row["id_region"];
$id_regionall = intval($id_regionall);
//Récupération du nom des région dans la table région
$regionall = utf8_encode($row["region"]);
//echo "<option value=\"$id_region\">".$regionall."</option>";
echo "<option value=\"$id_regionall\" if((isset($id_region)&&($id_regionall==\"$id_region\"))) echo \"selected=\"selected\";>$regionall</option>";
}
}
?>
</select>
($id_region est récupéré de la table user plus haut)
A voir également:
- Garder un champ d'un select selected
- Comment garder le 0 devant les chiffres sur excel - Guide
- Reboot and select proper boot device or insert boot media in selected boot device and press a key ✓ - Forum PC portable
- Insert boot media in selected boot device and press a key ✓ - Forum Windows 10
- &Quot;Reboot and Select proper Boot Device" - Forum Windows
- Selected file is not a proper bios ✓ - Forum Windows 10
6 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, quelle erreur obtiens-tu?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
1) as-tu copié ton code exact?
2) peux-tu montrer la section "select" extraite du code source de ta page?
echo "<option value=\"$id_regionall\" if((isset($id_region)&&($id_regionall==\"$id_region\"))) echo \"selected=\"selected\";>$regionall</option>";
2) peux-tu montrer la section "select" extraite du code source de ta page?
Oui j'ai copié le code exact.
<select name="region" id="region" class="form-control">
<option value="ras">Selectionnez</option>
<option value="1" if((isset(3)&&(1=="3"))) echo "selected="selected";>Auvergne Rhône Alpes</option>
<option value="2" if((isset(3)&&(2=="3"))) echo "selected="selected";>Bourgogne Franche Comté</option>
<option value="3" if((isset(3)&&(3=="3"))) echo "selected="selected";>Bretagne</option>
<option value="4" if((isset(3)&&(4=="3"))) echo "selected="selected";>Centre Val de Loire</option>
<option value="5" if((isset(3)&&(5=="3"))) echo "selected="selected";>Corse</option>
<option value="6" if((isset(3)&&(6=="3"))) echo "selected="selected";>Grand Est</option>
<option value="7" if((isset(3)&&(7=="3"))) echo "selected="selected";>Hauts de France</option>
<option value="8" if((isset(3)&&(8=="3"))) echo "selected="selected";>ÃŽle de France</option>
<option value="9" if((isset(3)&&(9=="3"))) echo "selected="selected";>Normandie</option>
<option value="10" if((isset(3)&&(10=="3"))) echo "selected="selected";>Nouvelle Aquitaine</option>
<option value="11" if((isset(3)&&(11=="3"))) echo "selected="selected";>Occitanie</option>
<option value="12" if((isset(3)&&(12=="3"))) echo "selected="selected";>Pays de la Loire</option>
<option value="13" if((isset(3)&&(13=="3"))) echo "selected="selected";>Provence Alpes Côte d'Azur</option>
<option value="14" if((isset(3)&&(14=="3"))) echo "selected="selected";>Guadeloupe</option>
<option value="15" if((isset(3)&&(15=="3"))) echo "selected="selected";>Guyane</option>
<option value="16" if((isset(3)&&(16=="3"))) echo "selected="selected";>Martinique</option>
<option value="17" if((isset(3)&&(17=="3"))) echo "selected="selected";>Réunion</option>
<option value="18" if((isset(3)&&(18=="3"))) echo "selected="selected";>Mayotte</option>
</select>
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
et ainsi?
si cela ne fonctionne pas, peux-tu montrer la section "select" extraite du code source de ta page?
echo "<option value=\"$id_regionall\"; if((isset($id_region)&&($id_regionall==$id_region)) { echo " selected"; } echo >$regionall</option>";
si cela ne fonctionne pas, peux-tu montrer la section "select" extraite du code source de ta page?
J'ai enlevé les guillemets autour du selected car sinon j'avais une erreur..
voici la partie du code source de la page :
voici la partie du code source de la page :
<select name="region" id="region" class="form-control">
<option value="ras">Selectionnez</option>
<option value="1";
if((isset(1)&&(1==1))
{
echo selected;
}
echo >Auvergne Rhône Alpes</option>
<option value="2";
if((isset(1)&&(2==1))
{
echo selected;
}
echo >Bourgogne Franche Comté</option>
<option value="3";
if((isset(1)&&(3==1))
{
echo selected;
}
echo >Bretagne</option>
<option value="4";
if((isset(1)&&(4==1))
{
echo selected;
}
echo >Centre Val de Loire</option>
<option value="5";
if((isset(1)&&(5==1))
{
echo selected;
}
echo >Corse</option>
<option value="6";
if((isset(1)&&(6==1))
{
echo selected;
}
echo >Grand Est</option>
<option value="7";
if((isset(1)&&(7==1))
{
echo selected;
}
echo >Hauts de France</option>
<option value="8";
if((isset(1)&&(8==1))
{
echo selected;
}
echo >ÃŽle de France</option>
<option value="9";
if((isset(1)&&(9==1))
{
echo selected;
}
echo >Normandie</option>
<option value="10";
if((isset(1)&&(10==1))
{
echo selected;
}
echo >Nouvelle Aquitaine</option>
<option value="11";
if((isset(1)&&(11==1))
{
echo selected;
}
echo >Occitanie</option>
<option value="12";
if((isset(1)&&(12==1))
{
echo selected;
}
echo >Pays de la Loire</option>
<option value="13";
if((isset(1)&&(13==1))
{
echo selected;
}
echo >Provence Alpes Côte d'Azur</option>
<option value="14";
if((isset(1)&&(14==1))
{
echo selected;
}
echo >Guadeloupe</option>
<option value="15";
if((isset(1)&&(15==1))
{
echo selected;
}
echo >Guyane</option>
<option value="16";
if((isset(1)&&(16==1))
{
echo selected;
}
echo >Martinique</option>
<option value="17";
if((isset(1)&&(17==1))
{
echo selected;
}
echo >Réunion</option>
<option value="18";
if((isset(1)&&(18==1))
{
echo selected;
}
echo >Mayotte</option>
</select>
Toujours pas .. Merci pour ton aide en tout cas ..
<select name="region" id="region" class="form-control">
<option value="ras">Selectionnez</option>
<option value="1";
if((isset(3)&&(1==3))
{
echo selected;
}
> Auvergne Rhône Alpes</option>
<option value="2";
if((isset(3)&&(2==3))
{
echo selected;
}
> Bourgogne Franche Comté</option>
<option value="3";
if((isset(3)&&(3==3))
{
echo selected;
}
> Bretagne</option>
<option value="4";
if((isset(3)&&(4==3))
{
echo selected;
}
> Centre Val de Loire</option>
<option value="5";
if((isset(3)&&(5==3))
{
echo selected;
}
> Corse</option>
<option value="6";
if((isset(3)&&(6==3))
{
echo selected;
}
> Grand Est</option>
<option value="7";
if((isset(3)&&(7==3))
{
echo selected;
}
> Hauts de France</option>
<option value="8";
if((isset(3)&&(8==3))
{
echo selected;
}
> ÃŽle de France</option>
<option value="9";
if((isset(3)&&(9==3))
{
echo selected;
}
> Normandie</option>
<option value="10";
if((isset(3)&&(10==3))
{
echo selected;
}
> Nouvelle Aquitaine</option>
<option value="11";
if((isset(3)&&(11==3))
{
echo selected;
}
> Occitanie</option>
<option value="12";
if((isset(3)&&(12==3))
{
echo selected;
}
> Pays de la Loire</option>
<option value="13";
if((isset(3)&&(13==3))
{
echo selected;
}
> Provence Alpes Côte d'Azur</option>
<option value="14";
if((isset(3)&&(14==3))
{
echo selected;
}
> Guadeloupe</option>
<option value="15";
if((isset(3)&&(15==3))
{
echo selected;
}
> Guyane</option>
<option value="16";
if((isset(3)&&(16==3))
{
echo selected;
}
> Martinique</option>
<option value="17";
if((isset(3)&&(17==3))
{
echo selected;
}
> Réunion</option>
<option value="18";
if((isset(3)&&(18==3))
{
echo selected;
}
> Mayotte</option>
</select>
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
tu as vraiment utilisé ceci?
echo "<option value=\"".$id_regionall."\""; if((isset($id_region)&&($id_regionall==$id_region)) { echo " selected"; } echo ">".$regionall."</option>";
Nan j'ai modifié parce que j'ai une erreur :
Parse error: syntax error, unexpected 'echo' (T_ECHO)
c'est une erreur à la ligne 4 (echo " selected";)
Moi j'avais du coup changé en mettant :
Parse error: syntax error, unexpected 'echo' (T_ECHO)
c'est une erreur à la ligne 4 (echo " selected";)
Moi j'avais du coup changé en mettant :
echo "<option value=\"$id_regionall\";
if((isset($id_region)&&($id_regionall==$id_region))
{
echo selected;
}
> $regionall</option>";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Il suffit de faire comme ceci :
Si jamais ça ne fonctionne toujours pas ...
pourrais tu , avant ta boucle ajouter quelques echo histoire de voir ce que contiennent tes variables...
par exemple :
Il suffit de faire comme ceci :
<div class="form-group"> <div class="col-md-8"> <label for="region">Votre region :</label> <select name="region" id="region" class="form-control"> <option value="ras">Selectionnez</option> <?php $query = $mysqli->query("SELECT * FROM region"); $nb = $query->num_rows; if($nb > 0){ while($row = $query -> fetch_array()){ //Récupération de tous les id_region dans la table région $id_regionall = intval($row["id_region"]); //Récupération du nom des région dans la table région $regionall = utf8_encode($row["region"]); $selected = isset($id_region)&&($id_regionall==$id_region ? " selected='selected' " : ""; echo "<option value='$id_regionall' $selected >$regionall</option>"; } } ?> </select>
Si jamais ça ne fonctionne toujours pas ...
pourrais tu , avant ta boucle ajouter quelques echo histoire de voir ce que contiennent tes variables...
par exemple :
if($nb > 0){ echo '<br>id_region :' . $id_region; //le temps des tests while($row = $query -> fetch_array()){ //Récupération de tous les id_region dans la table région $id_regionall = intval($row["id_region"]); echo '<br>id_regionall :' .$id_regionall; //Récupération du nom des région dans la table région $regionall = utf8_encode($row["region"]); $selected = isset($id_region)&&($id_regionall==$id_region ? " selected='selected' " : ""; echo "<option value='$id_regionall' $selected >$regionall</option>"; } }
NB: Si tu as besoin de faire de l'utf8_encode dans ton code .. c'est que tu n'as pas correctement mis ton site et ta bdd en utf8...
Je te conseille d'appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
Je te conseille d'appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
echo "<option value=\"".$id_regionall."\""; if((isset($id_region))&&($id_regionall==$id_region)) { echo " selected"; } echo ">".$regionall."</option>";
Ça fonctionne avec ta proposition pour récupérer l'id region qui est en bdd mais du coup pas l'id posté du form. Mais du coup la personne au dessus m'a donné un autre bout de code .
Merci beaucoup beaucoup du temps que tu as consacré pour m'aider, vraiment. Tes différents tests m'ont permis de mieux testé par la suite.
Alors merci à toi :)
Merci beaucoup beaucoup du temps que tu as consacré pour m'aider, vraiment. Tes différents tests m'ont permis de mieux testé par la suite.
Alors merci à toi :)
Tu peux poster le résultat ?