Page 1 sur 2
Checkbox
Posté : 10 oct. 2013, 11:47
par Invité
Bonjour,
J'ai besoin de votre aide. En gros, je récupère des données de ma base de données et je veux pouvoir modifier. C'est c'est checkbox, donc je veux pouvoir quand je valide le formulaire la case reste cochée.
<?php
while($res=mysql_fetch_row($requete)){
?>
<td><input type="checkbox" name="checkbox[]" <?php if($res[2] == 1) echo 'CHECKED="checked"';?> <?php echo "value=\"" .$res[0]. "\""; ?>/></td>
<?php
}
?>
J'ai trouvé ceci mais ça ne marche pas...
<td><input type="checkbox" name="checkbox[]" <?php echo "value=\"" .$res[0]. "\""; if (isset($_POST['checkbox']) && is_array($_POST['checkbox']) && in_array($res[0],$_POST['checkbox'])) echo 'checked="checked"'?> /></td>
Merci de m'éclairer.
Re: Checkbox
Posté : 10 oct. 2013, 15:28
par Invité
Rebonjour,
J'ai pensé à mettre des radios à la place des checkbox parce qu'en fait je ne dois en coché qu'une case mais ça ne marche pas. J'ai rien trouvé du style sur internet.
En gros pour chaque enregistrement de ma table je veux qu'il y ait un certain nombre de choix comme ceci
http://www.lehtml.com/htmlplus/fmradio.htm
Le problème que j'ai c'est que c'est en colonne que j'ai les cases.
Merci de votre aide
Re: Checkbox
Posté : 10 oct. 2013, 15:36
par damien_55
J'ai pas tout compris à ta demande:
tu peux etre plus clair sur Le problème que j'ai c'est que c'est en colonne que j'ai les cases ?? ça veut dire quoi?
Re: Checkbox
Posté : 10 oct. 2013, 15:46
par Invité
Re,
Pardon, j'avoue c'est pas clair du tout.
En gros, je veux pour chaque enregistrement de ma table avoir la possibilité de cocher un radio style oui ou non.
Re: Checkbox
Posté : 10 oct. 2013, 15:59
par damien_55
imaginons dans ta table tu as un champ valeur qui est égale à 1 ou 0
1 est une valeur coché et 0 une valeur non coché.
Comme tu l'as fait auparavant, tu contitionnes l'affichage de "checked" dans l'expression ci dessous en fonction de la valeur de ton champ avec un if par exemple:
<INPUT type= "radio" name="tarif" value="jour" checked> tarif de jour
au passage, j'écrirai plus ton expression d'un if comme ceci: (les acollades, c'est important)
if ($res[2] == 1){
echo 'CHECKED="checked"';
}
Re: Checkbox
Posté : 10 oct. 2013, 16:09
par Invité
En fait ce que je veux pouvoir avoir par exemple
durand patrick (trois cases du genre marié, veuf ou célibataire) et ainsi de suite pour chaque personne tout ça dans une boucle while qui me récupère mes personnes et leurs situations que je pourrais changer.
Mais je ne sais pas comment faire.
Re: Checkbox
Posté : 10 oct. 2013, 16:19
par damien_55
Oui, tu peux avoir tout ça. ça dépend de ta structure de base de données. Si ces données sont stockées dans ta base, je ne vois pas le soucis.
Il suffit de comme tu dis, d'écrire ta requete SQL, faire un while et puis le tour est joué.
Comment faire... déjà recupére ces infos dans ta bdd par une requete.

Re: Checkbox
Posté : 10 oct. 2013, 16:27
par Invité
C'est ce que j'ai fais voici
<?php
while($res=mysql_fetch_row($requete)){
?>
<td><input type="radio" name="celibataire[]" <?php if($res[2] == 1) echo 'CHECKED="checked"';?> <?php echo "value=\"" .$res[0]. "\""; ?>/></td>
<td><input type="radio" name="marie[]" <?php if($res[2] == 2) echo 'CHECKED="checked"';?> <?php echo "value=\"" .$res[0]. "\""; ?>/></td>
<td><input type="radio" name="veuf[]" <?php if($res[2] == 3) echo 'CHECKED="checked"';?> <?php echo "value=\"" .$res[0]. "\""; ?>/></td>
<?php
}
?>
Mais le problème c'est que mon radio fonctionne en vertical au lieu de la horizontal
Re: Checkbox
Posté : 10 oct. 2013, 16:59
par damien_55
1/ Tu es sur de ta requete sur la base $requete, c'est exact elle te renvoi bien un résultat ?
2/ je ne vois toujours pas d'accolade ?
3/ si je reprends ton exemple:
<INPUT type= "radio" name="tarif" value="jour" checked>
Et toi, tu essaies:
<input type="radio" name="celibataire[]" <?php if($res[2] == 1) echo 'CHECKED="checked"';?> <?php echo "value=\"" .$res[0]. "\""; ?>/>
Il y une différence plus que notable.
4/ Enfin, je ne comprend pas, les valeurs name de tes boutons: name="celibataire[]", name="marie[]", name="veuf[]" ?
Pourquoi les nommé tous différement et en plus en créant un tableau ? a moins qu'aprés tu ais d'autres oéprations à faire dessus, j'aurai plutot suivi le tuto que tu proposes, donc, un truc du genre:
<input type="radio" name="situation_famille[]" ... valeur="celib"
<input type="radio" name="situation_famille[]" ... valeur="marie"
etc....
Re: Checkbox
Posté : 11 oct. 2013, 11:07
par Invité
Bonjour,
J'ai essayé la solution, mais toujours rien c'est-à-dire que le radio fonctionne en ligne et en colonne, en gros mon
<?php if($res[2] == 1) echo 'CHECKED="checked"';?>
me permet de cocher la case en fonction de ce que j'ai dans la base.
J'ai plusieurs tableaux parce que chaque tableau contient les données pour un critère(celibataire, marie, veuf).
Re: Checkbox
Posté : 11 oct. 2013, 12:04
par Invité
Rebonjour,
J'ai réussi à faire mes radios comme je voulais mais maintenant que je veux modifier je ne sais pas comment faire.
<input type="radio" <?php echo "name=\"" .$res[0]. "\"";?> <?php echo "value=\"" .$res[0]. "\""; ?><?php if($res[2] == 1) {echo 'checked';}?> />
Normalement je devrais faire un isset($_POST['name'] mais je ne vois pas comment faire dans mon cas...
Pourriez-vous m'aider svp.
Re: Checkbox
Posté : 17 oct. 2013, 10:43
par Invité
Bonjour,
J'ai besoin de votre aide. Je veux récupérer la valeur de mes radios pour le traitement du formulaire or je ne trouve que ce genre d'aide sur internet.
<input type="radio" id="aller" name="choix" value="aller" /> Aller
<input type="radio" id="retour" name="choix" value="retour" /> Retour
<?php
echo $_POST['choix'];
?>
Alors que moi j'ai ceci
<input type="radio" <?php echo "name=\"" .$res[0]. "\"";?> <?php echo "value=\"" .$res[0]. "\""; ?><?php if($res[2] == 1) {echo 'checked';}?> />
Je sais pas comment récupérer mon name dans le $_POST.
Merci de votre aide.
Re: Checkbox
Posté : 17 oct. 2013, 10:59
par moogli
la comme ça ce n'est pas possible.
utilise plutôt la notation tableau du genre
<?php
echo '<input type="radio" name="truc[' .$res[0].']" .... />';
ensuite tu auras un tableau dans $_POST['truc'] que tu peu facilement utiliser (foreach, for, while etc etc)
@+
Re: Checkbox
Posté : 17 oct. 2013, 11:37
par Invité
Merci moogli pour ta réponse, finalement j'ai fais ce que tu m'as dis et quand je récupère j'ai fais ceci or ça ne marche que pour la premier colonne de radio (celibataire, marie, veuf).
if(isset($_POST['truc'])){
$truc = $_POST['truc'];
$id = "('" . implode( "','", $truc ) . "');" ;
$sql="UPDATE membre set situation='0' WHERE id = $id";
mysql_query($sql);
}
Re: Checkbox
Posté : 24 oct. 2013, 12:07
par Invité
Bonjour,
Je suis toujours bloqué... quand je valide un choix tous les membre ont la même valeur, ils deviennent tous célibataires.
Aidez-moi svp