Checkbox cochée à partir de bdd

Gaël -  
 Gaël -
Bonjour,

Je récupère le statut stocké dans une base de donnée concernant la validation d'une inscription. Ce statut peut-être:
-Inscrit
-En cours
-Refusé
J'ai crée une page php (de modification de demande d'inscription) qui fait appel à ce statut sous la forme de 3 checkbox. Je souhaite que seule la checkox correspondant au statut rentré dans la bdd, soit cochée.
Voici mon code:


echo"
<div>
<input type=\"checkbox\" name=\"statut\" value=\"Inscrit\"
if ($result->statut=='Inscrit') {'checked=\"checked\"';}> Inscrit</input>
<input type=\"checkbox\" name=\"statut\" value=\"En cours\"
if ($result->statut=='En cours') {'checked=\"checked\"';}> En cours</input>
<input type=\"checkbox\" name=\"statut\" value=\"Refuse\"
if($result->statut=='Refuse') {'checked=\"unchecked\"';}> Refuse</input><br />


</div> ";
Mon soucis est que toutes les checkbox sont cochées, alors que je n'een veux qu'une seule.
J'ai cherché sur beaucoup de forum avant de poster ici, mais point de solution à l'horizon...

Merci de m'aider.
Gaël

3 réponses

chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
Salut,

Tu peux me dire ce que te donnes ceci ?


echo '
<div>
<input type="checkbox" name="statut[]" value="Inscrit" checked=' . ($result->statut=="Inscrit") ? "checked" : "" . ' > Inscrit</input>
<input type="checkbox" name="statut[]" value="En cours" checked=' . ($result->statut=="En cours") ? "checked" : "" . ' > En cours</input>
<input type="checkbox" name="statut[]" value="Refuse" checked=' . ($result->statut=="Refuse") ? "checked" : "" . ' > Refuse</input>
</div>'; 
0
Gaël
 
Hello,
Ca écrit "checked" et les checkox ont diparu.
0
Utilisateur anonyme
 
Bonjour,

Essayez ceci

echo '
<div>
<input type="checkbox" name="statut" value="Inscrit"';

if ($result->statut=='Inscrit') {
echo 'checked="checked"';
}
echo '> Inscrit</input>
<input type="checkbox" name="statut" value="En cours"';

if ($result->statut=='En cours') {
echo 'checked="checked"';
}

echo '> En cours</input>
<input type="checkbox" name="statut" value="Refuse"';

if($result->statut=='Refuse') {
echo 'checked="checked"';
}

echo '> Refuse</input><br />
</div>';

Car vous ne pouvez pas mettre de conditions dans un echo, pas que je sache

Cordialement
0
Gaël
 
Oui cela marche! Je ne savais pas que l'on ne pouvait pas mettre une condition dans un echo... ça parait logique finalement.
Cependant, si je souhaite modifier le statut, je coche une nouvelle checkbox, et visiblement, il faut décocher la checbox correspondant à l'ancien statut (moi qui voulait limiter le nombre de click à faire....) Je vais essayer avec un bouton radio...

Un grand merci. Cela faisait un moment que je bloquais sur cette erreur...
Cordialement,
Gaël
0