[RESOLU]probleme checkbox checked

Eléphant du PHP | 123 Messages

27 avr. 2011, 11:31

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>&nbsp;<input type="checkbox" name="abs" value="<?php if (isset($_POST['abs']) && $_POST['abs']=="oui") echo 'checked="checked"'; ?>" >[var.abs;noerr]&nbsp;ABS</td>               
<td>&nbsp;<input type="checkbox" name="esp" value="<?php if (isset($_POST['esp']) && $_POST['esp']=="oui") echo 'checked="checked"'; ?>"  >[var.esp;noerr]&nbsp;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 :D
Modifié en dernier par baddevil le 28 avr. 2011, 16:46, modifié 3 fois.

ViPHP
ViPHP | 2577 Messages

27 avr. 2011, 11:58

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>&nbsp;<input type="checkbox" name="abs" value=""<?php if (isset($_POST['abs'])) echo ' checked="checked"'; ?>" >[var.abs;noerr]&nbsp;ABS</td>              
<td>&nbsp;<input type="checkbox" name="esp" value=""<?php if (isset($_POST['esp'])) echo ' checked="checked"'; ?>"  >[var.esp;noerr]&nbsp;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.

Mammouth du PHP | 686 Messages

27 avr. 2011, 12:42

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>&nbsp;<input type="checkbox" name="abs" value="<?php if (isset($_POST['abs']) && $_POST['abs']=="oui") echo 'checked="checked"'; ?>" >[var.abs;noerr]&nbsp;ABS</td>               
<td>&nbsp;<input type="checkbox" name="esp" value="<?php if (isset($_POST['esp']) && $_POST['esp']=="oui") echo 'checked="checked"'; ?>"  >[var.esp;noerr]&nbsp;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 :D

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 ?

Eléphant du PHP | 123 Messages

27 avr. 2011, 12:56

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

Mammouth du PHP | 686 Messages

27 avr. 2011, 13:03

ok
Tes données, tu les récupères d'un formulaire (d'ou les $_POST) ou d'une base sql ?

Eléphant du PHP | 123 Messages

27 avr. 2011, 13:18

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

Mammouth du PHP | 686 Messages

27 avr. 2011, 13:26

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);?>

Eléphant du PHP | 123 Messages

27 avr. 2011, 13:57

je le met ou ca ? dans mon formulaire ou dans mon fichier php ou y a ma requete?

Eléphant du PHP | 123 Messages

27 avr. 2011, 14:05

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&#233;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&#233;</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>&nbsp;<input type="checkbox" name="abs" value="oui" <?php if (isset($_POST['abs']) && $_POST['abs']=="oui") echo 'checked="checked"'; ?> >[var.abs;noerr]&nbsp;ABS</td>               
                  <td>&nbsp;<input type="checkbox" name="esp" value="oui" <?php if (isset($_POST['esp']) && $_POST['esp']=="oui") echo 'checked="checked"'; ?>  >[var.esp;noerr]&nbsp;ESP</td>              
                  <td>&nbsp;<input type="checkbox" name="airbag" value="<?php if (isset($_POST['airbag']) && $_POST['airbag']=='oui') echo 'checked="checked"'; ?>">[var.airbag;noerr]&nbsp;Airbag</td>               
                  <td>&nbsp;<input type="checkbox" name="alrm" value="<?php if (isset($_POST['alrm']) && $_POST['alrm']=='oui') echo 'checked="checked"'; ?>">[var.alrm;noerr]&nbsp;Alarme</td
                ></tr>
                <tr>  
                  <td>&nbsp;<input type="checkbox" name="atdem" value="oui">[var.atdem;noerr]&nbsp;Anti-démarrage</td>              
                  <td>&nbsp;<input type="checkbox" name="atpat" value="oui">[var.atpat;noerr]&nbsp;Anti patinage</td>                
                  <td>&nbsp;<input type="checkbox" name="attrem" value="oui">[var.attrem;noerr]&nbsp;Attache remorque</td>               
                  <td>&nbsp;<input type="checkbox" name="jalu" value="oui">[var.jalu;noerr]&nbsp;Jante alliage</td>
                </tr>
                <tr>
                  <td>&nbsp;<input type="checkbox" name="radcd" value="oui">&nbsp;Radio/CD</td>
                  <td>&nbsp;<input type="checkbox" name="dirass" value="oui">&nbsp;Dir-assistée</td>              
                  <td>&nbsp;<input type="checkbox" name="vitrel" value="oui">&nbsp;Vitres électriques</td>           
                  <td>&nbsp;<input type="checkbox" name="siegel" value="oui">&nbsp;Sièges électriques</td>
                </tr>
                <tr>
                  <td>&nbsp;<input type="checkbox" name="siegcuir" value="oui">&nbsp;sièges cuir</td>                
                  <td>&nbsp;<input type="checkbox" name="siegch" value="oui">&nbsp;Siège chauffant</td>                
                  <td>&nbsp;<input type="checkbox" name="regvit" value="oui">&nbsp;régulateur de vitesse</td>
                  <td>&nbsp;<input type="checkbox" name="radrec" value="oui">&nbsp;Radar de recul</td>
                </tr>
                <tr>
                  <td>&nbsp;<input type="checkbox" name="gps" value="oui">&nbsp;système de navigation</td>            
                  <td>&nbsp;<input type="checkbox" name="odb" value="oui">&nbsp;Ordinateur de bord</td>
                  <td>&nbsp;<input type="checkbox" name="touv" value="oui">&nbsp;Toit ouvrant</td>
                  <td>&nbsp;<input type="checkbox" name="vercent" value="oui">&nbsp;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;
?>

ViPHP
ViPHP | 2577 Messages

27 avr. 2011, 14:47

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.

Eléphant du PHP | 123 Messages

27 avr. 2011, 14:53

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

ViPHP
ViPHP | 2577 Messages

27 avr. 2011, 15:07

Bonjour,

Je te demande juste de vérifier le html généré pour vérifier que ton
<td>&nbsp;<input type="checkbox" name="abs" value="oui" checked="checked">&nbsp;ABS</td>
correspond bien à ce que tu veux

J'imagine bien dans le source HTML :
<td>&nbsp;<input type="checkbox" name="airbag" value="<?php if (isset($_POST['airbag']) && $_POST['airbag']=='oui') echo 'checked="checked"'; ?>">[var.airbag;noerr]&nbsp;Airbag</td>
Ce qui doit donner une case cochée comme tu l'as dans le navigateur.

Mais tu fais comme tu veux.

Eléphant du PHP | 123 Messages

27 avr. 2011, 15:18

j avoue ne pas comprendre ou tu veux en venir
<tr> 
                  <td>&nbsp;<input type="checkbox" name="abs" value="oui" <?php if (isset($_POST['abs']) && $_POST['abs']=="oui") echo 'checked="checked"'; ?> >[var.abs;noerr]&nbsp;ABS</td>               
                  <td>&nbsp;<input type="checkbox" name="esp" value="oui" <?php if (isset($_POST['esp']) && $_POST['esp']=="oui") echo 'checked="checked"'; ?>  >[var.esp;noerr]&nbsp;ESP</td>               
                  <td>&nbsp;<input type="checkbox" name="airbag" value="<?php if (isset($_POST['airbag']) && $_POST['airbag']=='oui') echo 'checked="checked"'; ?>">[var.airbag;noerr]&nbsp;Airbag</td>               
                  <td>&nbsp;<input type="checkbox" name="alrm" value="<?php if (isset($_POST['alrm']) && $_POST['alrm']=='oui') echo 'checked="checked"'; ?>">[var.alrm;noerr]&nbsp;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

ViPHP
ViPHP | 2577 Messages

27 avr. 2011, 15:33

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.

Eléphant du PHP | 123 Messages

27 avr. 2011, 15:49

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>&nbsp;<input type="checkbox" name="airbag" value="<?php if (isset($tempo['airbag']) && $tempo['airbag']=='oui') echo 'checked="checked"'; ?>"/>[var.airbag;noerr]&nbsp;Airbag</td> <td>&nbsp;<input type="checkbox" name="alrm" value="<?php if (isset($tempo['alrm']) && $tempo['alrm']=='oui') echo 'checked="checked"'; ?>"/>[var.alrm;noerr]&nbsp;Alarme</td
mais il ne vois toujours pas la difference entre le oui ou non