Page 1 sur 1

valuer checkbox dans url

Posté : 23 févr. 2012, 15:41
par amiral444
Bonjour

Tout nouveau sur ce forum, d'abord bonjour à tous.

J'ai un petit probleme que j'arrive pas à resoudre.

dans un formulaire de cases à cocher j'ai ca
<form action="pagerecup.php" method="get">
<input name="idtheme[]" type="checkbox" value="RR">Rassemblement/Rencontre
<input name="idtheme[]" type="checkbox" value="RM">Rendez-vous Mensuel
..
..

Dans ma page de recup
j'ai ce code pour récupérer mes variables :
$i=0 ;
$the ='';
foreach ($idtheme as $cle) {
if ($cle>0) {if ($i > 0) {$the = $the." OR ";}
$the = $the."ID_theme='".$cle."'";
$i=$i+1;
}
$reftheme  = $reftheme.$the;
$the ='';
}

quand je met des caracteres dans value (RR et RM), et que je valide dans l'url il y a bien ca qui passe

pagerecup.php?idtheme[]=RR&idtheme[]=RM

mais la variable $reftheme est vide au final

par contre quand je met un 1 devant 1RR et 1RM dans value alors j'ai bien ma variable $reftheme qui vaut ID_theme='1RR' OR ID_theme='1RM'

Comment ca se fait qu'il prend pas en compte la variable quand la value commence pas par un chiffre ??

merci de votre aide

Re: valuer checkbox dans url

Posté : 23 févr. 2012, 15:49
par Calimero
Bonjour,
$i=0 ;
$the ='';
foreach ($idtheme as $cle) {
  if ($cle>0) {
    if ($i > 0) {
      $the = $the." OR ";
    }
    $the = $the."ID_theme='".$cle."'";
    $i=$i+1;
  }
  $reftheme = $reftheme.$the;
  $the ='';
}
La faute au premier if() qui implique une comparaison numérique avec la valeur de la variable. Si cette valeur ne contient que des lettres, la conversion en nombre imposée par ce if() donnera toujours 0, et la condition du if() ne sera pas satisfaite.

Plus d'infos ici : http://fr.php.net/manual/fr/language.ty ... conversion

Re: valuer checkbox dans url

Posté : 23 févr. 2012, 15:52
par Invité
Merci pour le début de reponse
Avant de lire tout ca, y a t-il tu une solution simple à ce if ?

Re: valuer checkbox dans url

Posté : 23 févr. 2012, 15:55
par Invité
Merci pour le début de reponse
Avant de lire tout ca, y a t-il tu une solution simple à ce if ?

C'est bon j'ai trouvé, à priori en mettant if ($cle!='')

ca fonctionne
merci pour l'aide

Re: valuer checkbox dans url

Posté : 23 févr. 2012, 16:00
par Invité
Je profite de vos lumieres

comment on fait pour forcer plusieurs checkbox pour les cocher tous d'un coup
quand on veut tous les selectionner, au lieu de les faire un par un ?

<input name="idtheme[]" type="checkbox" value="RR">Rassemblement/Rencontre
<input name="idtheme[]" type="checkbox" value="RM">Rendez-vous Mensuel
...
...

merci

Re: valuer checkbox dans url

Posté : 23 févr. 2012, 16:03
par Thibaud C
http://www.htmlcodetutorial.com/forms/_ ... ECKED.html

(edit en relisant je pense ne pas avoir compris la question) : javascript ?
document.getElementByName('namecheck').checked=true
mais je ne sais pas si c'est possible quand plusieurs input ont le même name
Sinon vive le Jquery :)

Re: valuer checkbox dans url

Posté : 23 févr. 2012, 20:10
par amiral44
http://www.htmlcodetutorial.com/forms/_ ... ECKED.html

(edit en relisant je pense ne pas avoir compris la question) : javascript ?
document.getElementByName('namecheck').checked=true
mais je ne sais pas si c'est possible quand plusieurs input ont le même name
Sinon vive le Jquery :)

Merci , j'ai trouvé du js pour cocher toutes les cases, mais ca coche tous les ckbx du formulaire à la fois
sauf que dans mon formulaire j'ai plusieurs checkbox de differents name
et que ca me coche tout, je voudrai pouvoir cocher separemment chaque partie de mes checkbox, suis je clair ???

<input name="an[]" type="checkbox" value="2012">2012
<input name="an[]" type="checkbox" value="2013">2013
ici mettre un bouton"tout cocher" celles qui donne les annees
...

<input name="mo[]" type="checkbox" value="01">01
<input name="mo[]" type="checkbox" value="02">02
<input name="mo[]" type="checkbox" value="03">03
..
ici mettre un bouton"tout cocher" celles qui donne les mois

etc...