PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 03-08-2009 17:18:04

foudunet
Membre
Inscription : 13-05-2009
Messages : 9

Boulce + Chekbox

Bonsoir à Tous après des heures et des heures je ne trouve pas sad mais je lache pas votre aide me sauverais quelques cheveux big_smile !!


voilà mon code :

     $limitecat = '5';
     $i = 1;
     while($i <= $limitecat)
     {
  if($cat_read[$i] == $id){ echo '<input name="checkbox" type="checkbox" id="checkbox" checked="checked" />';}
        if($cat_read[$i] != $id){ echo '<input type="checkbox" name="checkbox" id="checkbox" />';  }
$i++;
     }

ce que je veux c'est que la case soit coché ou bien non sans qu'elle m'affiche une multitude de case  suivant la variable $limitecat en gros que si la boucle trouve que cat_read[$i] est égale à $id il stope la boucle et recomence pour un autre tour.


Merci pour votre aide

Hors ligne

#2 04-08-2009 08:16:50

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Boulce + Chekbox

Saluton,
Tu pourrais essayer d'être, sinon plus clair, au moins compréhensible ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 04-08-2009 10:02:43

foudunet
Membre
Inscription : 13-05-2009
Messages : 9

Re : Boulce + Chekbox

Hello smile oui j'avoue c'est pas super claire de bon matin je ré explique.


// je recup les cat dans le champs qui est mysql à l'origine

           $cat_read = explode('-','55-66-02-54-63')

// je fix la limite à 5 puisque il y a 5 explode

           $limitecat = '5';
 
           $i = 1;
 
           while($i <= $limitecat)
 
           {
 
        if($cat_read[$i] == $id){ echo '<input name="checkbox" type="checkbox" id="checkbox" checked="checked" />';}

        if($cat_read[$i] != $id){ echo '<input type="checkbox" name="checkbox" id="checkbox" />';  }
 
      $i++;
 
           }

donc c'est simple je voudrais que le script compare $id qui provient de la table des categories avec $cat_read[$i] sachant que $i est de 1 à 5 ensuite qu'il met une chekbox coché ou non si il la trouve dans $cat_read[$i]


voilà j'espère que c'est un peut mieux

merci bien !

Hors ligne

#4 04-08-2009 10:21:25

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Boulce + Chekbox

Trois choses.
il existe une syntaxe pour les structures algorithmiques d'alternative :

if(condition){bloc if}
else{bloc sinon}

D'autre part pourquoi ne pas utiliser foreach pour parcourir l'array $cat_read ?
Enfin dans le DOM de Javascript, un id doit être UNIQUE dans le document, donc

if($cat_read[$i] == $id){ echo '<input name="checkbox[]" type="checkbox" id="checkbox[]" checked="checked" />';}
else{ echo '<input type="checkbox" name="checkbox[]" id="checkbox[]" />';  

Comme on ne sait pas d'où vient $id et ce qu'il contient, je ne peux en dire plus.
Toutefois cette varainte m'apparaît plus simple

$checked=($cat_read[$i] == $id) ? "checked=\"checked\"":"";
echo "<input name=\"checkbox[]\" type=\"checkbox\" id=\"checkbox[]\" $checked />"';

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 04-08-2009 15:21:22

foudunet
Membre
Inscription : 13-05-2009
Messages : 9

Re : Boulce + Chekbox

J'ai trouvé une solution !

voila le code et tout marche merci

<input type="checkbox" name="idmembre[]" value="<?php echo $id; ?>"
<?php if (in_array($id,$cat_read)) {echo "checked=\"checked\"";}?>  />

Hors ligne

Pied de page des forums