Page 1 sur 3
[RESOLU]probleme checkbox checked
Posté : 27 avr. 2011, 11:31
par baddevil
bonjour a vous
j essai depuis un moment de récupérer ma valeur de ma bdd et qu en fonction de celle ci ma case soit checked mais en vain
voici ce que j ai essayé de faire mais ca marche pas
<td> <input type="checkbox" name="abs" value="<?php if (isset($_POST['abs']) && $_POST['abs']=="oui") echo 'checked="checked"'; ?>" >[var.abs;noerr] ABS</td>
<td> <input type="checkbox" name="esp" value="<?php if (isset($_POST['esp']) && $_POST['esp']=="oui") echo 'checked="checked"'; ?>" >[var.esp;noerr] ESP</td>
mon abs [var.abs;noerr] recupere la valeur oui et esp non cependant il me checked le tout que ce soit oui ou non
si vous pouviez m aider cela serai super sympa , en vous remerciant d avance

Re: probleme checkbox checked
Posté : 27 avr. 2011, 11:58
par Mazarini
Bonjour,
Regardes du coté du source html.
Ton tag doit être <input type="checkbox" name="xxx" value="checked="checked"">
Je verrai plutot du php :
<td> <input type="checkbox" name="abs" value=""<?php if (isset($_POST['abs'])) echo ' checked="checked"'; ?>" >[var.abs;noerr] ABS</td>
<td> <input type="checkbox" name="esp" value=""<?php if (isset($_POST['esp'])) echo ' checked="checked"'; ?>" >[var.esp;noerr] ESP</td>
(je ne comprends pas le [var.esp;noerr])
Si mes souvenir sont bons, $_POST['XXX'] est renseigné et prend la valeur définit dans value uniquement quand la case est coché. La valeur de value est affichée à droite de la case. C'est pour ca que je la mets à blanc, mais tu peux mettre esp ou abs en supprimant le texte après.
Re: probleme checkbox checked
Posté : 27 avr. 2011, 12:42
par sylvaing26
bonjour a vous
j essai depuis un moment de récupérer ma valeur de ma bdd et qu en fonction de celle ci ma case soit checked mais en vain
voici ce que j ai essayé de faire mais ca marche pas
<td> <input type="checkbox" name="abs" value="<?php if (isset($_POST['abs']) && $_POST['abs']=="oui") echo 'checked="checked"'; ?>" >[var.abs;noerr] ABS</td>
<td> <input type="checkbox" name="esp" value="<?php if (isset($_POST['esp']) && $_POST['esp']=="oui") echo 'checked="checked"'; ?>" >[var.esp;noerr] ESP</td>
mon abs [var.abs;noerr] recupere la valeur oui et esp non cependant il me checked le tout que ce soit oui ou non
si vous pouviez m aider cela serai super sympa , en vous remerciant d avance

Bonjour,
tu dis que tu essaies de récupèrer les valeurs de ta base de données.
Pourquoi donc avons nous des valeurs $_POST ?
Re: probleme checkbox checked
Posté : 27 avr. 2011, 12:56
par baddevil
alors le [var.esp;noerr] c est de l affichage je passe par un generateur de template (tinybutstrong) donc la comme je ne voyais pas mes valeurs je les affiche grace a ceci abs = oui et esp =non
pour le $_post ba je suis debutant alors je fais des essaies
avant je mettai juste if et $abs par exemple mais rien ne fonctionnait alors que la ben ca checked mais pas en fonction du oui ou non il fait aucune difference
Re: probleme checkbox checked
Posté : 27 avr. 2011, 13:03
par sylvaing26
ok
Tes données, tu les récupères d'un formulaire (d'ou les $_POST) ou d'une base sql ?
Re: probleme checkbox checked
Posté : 27 avr. 2011, 13:18
par baddevil
mon formulaire recupere via ma requete select sur un fichier en php
le but de mon formulaire est de modifier les données mais d affiché aussi ce qui as été deja mis via un autre formulaire de depot
Re: probleme checkbox checked
Posté : 27 avr. 2011, 13:26
par sylvaing26
ok, je supprose que tes $_POST sont alors de ton formulaire de dépot ...
dans ta page mets ceci et colle ce que ca te mets
<?php print_r($_POST);?>
Re: probleme checkbox checked
Posté : 27 avr. 2011, 13:57
par baddevil
je le met ou ca ? dans mon formulaire ou dans mon fichier php ou y a ma requete?
Re: probleme checkbox checked
Posté : 27 avr. 2011, 14:05
par baddevil
le mieux c est que je met mes codes entier je pense
voici mon formulaire
<?php
<form method="POST" action="updateannonce.php">
<input type="hidden" name="action" value="modif_annonce">
<input type="hidden" name="IDannonce" value="[var.IDannonce;noerr]">
<table height="500">
<tr id="titre">
<td width="600" height="35" align="center"><h1>Modification Annonce<h1><p>[var.IDannonce;noerr]</p>
</td>
</tr>
<tr>
<td height="70">
<p>Marque:[var.marque;noerr]</p>
<select name="marque" id="marque" >
<option value="[var.idmarque;noerr]">choisissez une marque</option>
<option value="1" >Audi</option>
<option value="9" >BMW</option>
<option value="2" >Citroen</option>
<option value="3" >Fiat</option>
<option value="4" >Ford</option>
<option value="11" >Honda</option>
<option value="5" >Opel</option>
<option value="6" >Peugeot</option>
<option value="7" >Renault</option>
<option value="10" >Toyota</option>
<option value="8" >Volskwagen</option>
</select>
</td>
</tr><br>
<tr>
<td height="70">
<p>style/type:[var.style;noerr]</p>
<p><select name="style" id="style" >
<option value="[var.style;noerr]">- Veuillez sélectionner</option>
<option value="2/3-Portes">2/3-Portes</option>
<option value="4/5-Portes">4/5-Portes</option>
<option value="4x4">4x4</option>
<option value="Break">Break</option>
<option value="Cabriolet">Cabriolet</option>
<option value="Coupé">Coupé</option>
<option value="Monospace">Monospace</option>
<option value="Utilitaire">Utilitaire</option>
<option value="Autres">Autres</option>
</select></p>
</td><br />
</tr>
<tr>
<td height="70">
<p>Titre de l'annonce:</p>
<p><input type="text" name="titre" id="Titre" size="50" maxlength="50" value="[var.Titre;noerr]" /></p>
</td>
</tr><br />
<tr>
<td height="70">
<p>Texte de l'annonce:</p>
<p> <textarea cols="50" rows="10" name="body" id="body">[var.detail;noerr]</textarea></p>
</td>
</tr>
<table>
<tr>
<td height="70">
<p>Prix:</p>
<p><input type="text" name="prix" size="10" maxlength="8" value="[var.prix;noerr]" id="prix" />€</p>
</td>
<td height="70">
<p>Année:</p>
<p><input type="text" name="annee" size="10" maxlength="8" value="[var.annee;noerr]" id="annee" /></p>
</td>
<td height="70">
<p>Couleur:</p>
<p><input type="text" name="couleur" size="10" maxlength="8" value="[var.couleur;noerr]" id="couleur" /></p>
</td>
<td height="70">
<p>Kms:</p>
<p><input type="text" name="km" size="10" maxlength="8" value="[var.km;noerr]" id="km" /></p>
</td>
</tr>
<tr>
<td> <input type="checkbox" name="abs" value="oui" <?php if (isset($_POST['abs']) && $_POST['abs']=="oui") echo 'checked="checked"'; ?> >[var.abs;noerr] ABS</td>
<td> <input type="checkbox" name="esp" value="oui" <?php if (isset($_POST['esp']) && $_POST['esp']=="oui") echo 'checked="checked"'; ?> >[var.esp;noerr] ESP</td>
<td> <input type="checkbox" name="airbag" value="<?php if (isset($_POST['airbag']) && $_POST['airbag']=='oui') echo 'checked="checked"'; ?>">[var.airbag;noerr] Airbag</td>
<td> <input type="checkbox" name="alrm" value="<?php if (isset($_POST['alrm']) && $_POST['alrm']=='oui') echo 'checked="checked"'; ?>">[var.alrm;noerr] Alarme</td
></tr>
<tr>
<td> <input type="checkbox" name="atdem" value="oui">[var.atdem;noerr] Anti-démarrage</td>
<td> <input type="checkbox" name="atpat" value="oui">[var.atpat;noerr] Anti patinage</td>
<td> <input type="checkbox" name="attrem" value="oui">[var.attrem;noerr] Attache remorque</td>
<td> <input type="checkbox" name="jalu" value="oui">[var.jalu;noerr] Jante alliage</td>
</tr>
<tr>
<td> <input type="checkbox" name="radcd" value="oui"> Radio/CD</td>
<td> <input type="checkbox" name="dirass" value="oui"> Dir-assistée</td>
<td> <input type="checkbox" name="vitrel" value="oui"> Vitres électriques</td>
<td> <input type="checkbox" name="siegel" value="oui"> Sièges électriques</td>
</tr>
<tr>
<td> <input type="checkbox" name="siegcuir" value="oui"> sièges cuir</td>
<td> <input type="checkbox" name="siegch" value="oui"> Siège chauffant</td>
<td> <input type="checkbox" name="regvit" value="oui"> régulateur de vitesse</td>
<td> <input type="checkbox" name="radrec" value="oui"> Radar de recul</td>
</tr>
<tr>
<td> <input type="checkbox" name="gps" value="oui"> système de navigation</td>
<td> <input type="checkbox" name="odb" value="oui"> Ordinateur de bord</td>
<td> <input type="checkbox" name="touv" value="oui"> Toit ouvrant</td>
<td> <input type="checkbox" name="vercent" value="oui"> Verrouillage centralisé</td>
</tr>
</table>
<p> <input type="submit" name="validate" value="Valider" style="width:130px" /></p>
</form>
?>
et voici celui ou y a ma requete
<?php
case "ModifAnnoncedetail":
$tbs = new clsTinyButStrong ;
//modèle html dynamique à utiliser
$tbs -> LoadTemplate("modifdetail.php",'utf-8');
//création de la requete
$requete = "SELECT *
FROM AT_Annonces,AT_marque
where AT_Annonces.marque=AT_marque.IDmarque
and IDannonce='".$_GET['cocher1']."'";
$resultat = mysql_query ($requete);
$tempo = mysql_fetch_assoc($resultat);
$IDannonce = $tempo['IDannonce'];
$style=$tempo['style'];
$km=$tempo['Km'];
$annee=$tempo['Annee'];
$couleur=$tempo['couleur'];
$Titre=$tempo['Titre'];
$prix=$tempo['prix'];
$marque=$tempo['LibelleMarque'];
$idmarque=$tempo['IDMarque'];
$detail=$tempo['detail'];
$photo1=$tempo['photo1'];
$photo2=$tempo['photo2'];
$photo3=$tempo['photo3'];
$photo4=$tempo['photo4'];
$photo5=$tempo['photo5'];
$ID = $_GET['ID'];
$abs = $tempo['abs'];
$esp = $tempo['esp'];
$airbag = $tempo['airbag'];
$alrm = $tempo['alrm'];
$atdem = $tempo['atdem'];
$atpat = $tempo['atpat'];
$attrem = $tempo['attrem'];
$jalu = $tempo['jalu'];
$radcd = $tempo['radcd'];
$dirass = $tempo['dirass'];
$vitrel = $tempo['vitrel'];
$siegel = $tempo['siegel'];
$siegcuir = $tempo['siegcuir'];
$siegch = $tempo['siegch'];
$regvit = $tempo['regvit'];
$radrec = $tempo['radrec'];
$gps = $tempo['gps'];
$odb = $tempo['odb'];
$touv = $tempo['touv'];
$vercent = $tempo['vercent'];
print_r($requete);
//execute la requete,recupere les resultats et fusionne avec le modele html
$tbs -> MergeBlock('blk',$connexion,$requete);
//affiche le fichier html
$tbs -> Show();
break;
?>
Re: probleme checkbox checked
Posté : 27 avr. 2011, 14:47
par Mazarini
Bonjour,
Je ne connais pas ton moteur de template, mais le premier contrôle est de vérifier le code HTML de ta page en affichant son source.
Re: probleme checkbox checked
Posté : 27 avr. 2011, 14:53
par baddevil
Bonjour,
Je ne connais pas ton moteur de template, mais le premier contrôle est de vérifier le code HTML de ta page en affichant son source.
mon formulaire fonctionne j arrive a modifier toutes les autres données c est seulement la au checkbox que je n arrive pas a mettre en oeuvre
Re: probleme checkbox checked
Posté : 27 avr. 2011, 15:07
par Mazarini
Bonjour,
Je te demande juste de vérifier le html généré pour vérifier que ton
<td> <input type="checkbox" name="abs" value="oui" checked="checked"> ABS</td>
correspond bien à ce que tu veux
J'imagine bien dans le source HTML :
<td> <input type="checkbox" name="airbag" value="<?php if (isset($_POST['airbag']) && $_POST['airbag']=='oui') echo 'checked="checked"'; ?>">[var.airbag;noerr] Airbag</td>
Ce qui doit donner une case cochée comme tu l'as dans le navigateur.
Mais tu fais comme tu veux.
Re: probleme checkbox checked
Posté : 27 avr. 2011, 15:18
par baddevil
j avoue ne pas comprendre ou tu veux en venir
<tr>
<td> <input type="checkbox" name="abs" value="oui" <?php if (isset($_POST['abs']) && $_POST['abs']=="oui") echo 'checked="checked"'; ?> >[var.abs;noerr] ABS</td>
<td> <input type="checkbox" name="esp" value="oui" <?php if (isset($_POST['esp']) && $_POST['esp']=="oui") echo 'checked="checked"'; ?> >[var.esp;noerr] ESP</td>
<td> <input type="checkbox" name="airbag" value="<?php if (isset($_POST['airbag']) && $_POST['airbag']=='oui') echo 'checked="checked"'; ?>">[var.airbag;noerr] Airbag</td>
<td> <input type="checkbox" name="alrm" value="<?php if (isset($_POST['alrm']) && $_POST['alrm']=='oui') echo 'checked="checked"'; ?>">[var.alrm;noerr] Alarme</td
></tr>
les deux premiers checkbox me fait rien les cases ne sont pas checked malgré le if isset
les deux dernier me checked que ce soit oui ou non alors que je souhaiterai seulement checked sur un oui
Re: probleme checkbox checked
Posté : 27 avr. 2011, 15:33
par Mazarini
Bonjour,
Si ce que tu montres est le source du html du résultat affiché dans le navigateur, tu voies que le php n'as pas été interprété par ton système de template. C'est donc de ce coté que tu dois chercher.
Re: probleme checkbox checked
Posté : 27 avr. 2011, 15:49
par baddevil
mon fichier php est bon j ai fait un echo($tempo['abs']);
il m affiche bien dans ma page le oui donc ma valeur
j ai donc essayer ceci
<td> <input type="checkbox" name="airbag" value="<?php if (isset($tempo['airbag']) && $tempo['airbag']=='oui') echo 'checked="checked"'; ?>"/>[var.airbag;noerr] Airbag</td> <td> <input type="checkbox" name="alrm" value="<?php if (isset($tempo['alrm']) && $tempo['alrm']=='oui') echo 'checked="checked"'; ?>"/>[var.alrm;noerr] Alarme</td
mais il ne vois toujours pas la difference entre le oui ou non