Récupérer les valeurs des checkboxs
Résolu
LaChaux78
Messages postés
583
Date d'inscription
Statut
Membre
Dernière intervention
-
LaChaux78 Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
LaChaux78 Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai pouvoir récupérer les checkboxs qui sont cochées. Mes cases à cocher correspondent aux membres issue de ma base de données. J'ai également une liste déroulante.
Toutes les valeurs cochées se trouvent dans le tableau $_POST['possession']. Par contre je récupére bien les items sélectionné de ma liste déroulante qui correspondent à chaque personne.
Pouvez-vous me dire ce qui ne va pas s'ils vous plait, je vous remercie.
Je souhaiterai pouvoir récupérer les checkboxs qui sont cochées. Mes cases à cocher correspondent aux membres issue de ma base de données. J'ai également une liste déroulante.
Toutes les valeurs cochées se trouvent dans le tableau $_POST['possession']. Par contre je récupére bien les items sélectionné de ma liste déroulante qui correspondent à chaque personne.
Pouvez-vous me dire ce qui ne va pas s'ils vous plait, je vous remercie.
$action = 'new'; $a = !empty($_GET['a']) ? $_GET['a'] : NULL; $submit = !empty($_POST['submit']) ? $_POST['submit'] : NULL; $haction = !empty($_POST['haction']) ? $_POST['haction'] : NULL; $possession = !empty($_POST['possession']) ? $_POST['possession'] : NULL; $idpers = !empty($_POST['idpers']) ? $_POST['idpers'] : ''; $idpup = !empty($_POST['idpup']) ? $_POST['idpup'] : ''; $grformat = !empty($_POST['grformat']) ? $_POST['grformat'] : ''; $ptformat = !empty($_POST['ptformat']) ? $_POST['ptformat'] : ''; $oldid = !empty($_POST['oldid']) ? $_POST['oldid'] : ''; switch($a) { case 'new': $action = 'new'; break; case 'ls' : $action = 'list'; break; case 'mod': $action = 'mod'; break; case 'sup': $action = 'sup'; break; default : $action = 'new'; break; } if($action == 'list') { echo '<h1>'.$title.'</h1>'; $sql = "SELECT * FROM cdc_classeurs LEFT JOIN cdc_pupitres ON cdc_pupitres.idpup = cdc_classeurs.idpup LEFT JOIN cdc_personnes ON cdc_personnes.idpers = cdc_classeurs.idpers ORDER BY nom,prenom"; $result = executeQuery($sql,$datas); echo '<ul>'; while ($donnees = $result->fetch()) { $idpers = $donnees->idpers; $idpup = $donnees->idpup; $oldid = "$idpers,$idpup"; $lien = $_SERVER["PHP_SELF"].'?a=mod&idpers='.$idpers.'&idpup='.$idpup.'&oldid='.$oldid; echo '<li> <a href="'.$lien.'">'.$donnees->pupitre.' => '.$donnees->nom.' '.$donnees->prenom.'</a>'; } echo '</ul>'; echo dmaj("sais_classeur.php"); echo "</div></body></html>"; exit; } $checked = $possession ? " checked " : ""; echo '<form method="post" name="cla" action="'.$_SERVER["PHP_SELF"].'" onsubmit="return verif()">'; echo '<h1>'.$title.'</h1>'; echo '<table style="float:right">'; echo '<tr>'; echo '<td class="libel">Sélectionner un Pupire pour le classeur:</td>'; echo '<td class="data">'; echo $LDpup->write($idpup).'</td>'; echo '</tr>'; echo '<tr>'; echo '<td><input type="hidden" name="haction" value="'.$action.'" /></td>'; echo '</tr>'; echo '</table>'; echo '<p>NB: La saisie dans les zones à fond jaune pâle est obligatoire.</p>'; $sql = "SELECT cdc_adherer.idpers,nom,prenom FROM cdc_adherer LEFT JOIN cdc_personnes ON cdc_personnes.idpers = cdc_adherer.idpers WHERE annee = :annee AND cdc_adherer.idclas = 4 ORDER BY nom,prenom"; $datas = array('annee' => $aadh); $result = executeQuery($sql,$datas); foreach ($result as $donnees) { echo '<input type="checkbox" name="possession[]" value="'.$donnees->idpers.'" '.$checked.' /> '.$donnees->nom.' '.$donnees->prenom.'<br/>'; } echo '<br/>'; echo '<td class="data"><input type="submit" name="submit" value="'.$btsub.'" /></td>'; echo '</form>';
A voir également:
- Récupérer les valeurs des checkboxs
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment recuperer une video sur youtube - Guide
- Impossible de récupérer mon compte gmail - Guide
5 réponses
Bonjour,
Je ne comprend pas ta question...
Si tu récupères biens les données qui sont dans : $possession
où est le souci ?
Et puis... de quelle autre liste parles tu ? Que veux tu en faire ?
Par contre, ton SWITCH ne sert à rien... surtout avec le IF que tu as mis ensuite...
Place donc le code de ton IF directement dans ton switch... ça serait plus logique.
comme ceci :
Ensuite, dans ce bout de code
D'où vient la variable $aadh?
Je ne comprend pas ta question...
Si tu récupères biens les données qui sont dans : $possession
où est le souci ?
Et puis... de quelle autre liste parles tu ? Que veux tu en faire ?
Par contre, ton SWITCH ne sert à rien... surtout avec le IF que tu as mis ensuite...
Place donc le code de ton IF directement dans ton switch... ça serait plus logique.
comme ceci :
switch($a) { case 'new': $action = 'new'; break; case 'ls' : $action = 'list'; echo '<h1>'.$title.'</h1>'; $sql = "SELECT * FROM cdc_classeurs LEFT JOIN cdc_pupitres ON cdc_pupitres.idpup = cdc_classeurs.idpup LEFT JOIN cdc_personnes ON cdc_personnes.idpers = cdc_classeurs.idpers ORDER BY nom,prenom"; $result = executeQuery($sql,$datas); echo '<ul>'; while ($donnees = $result->fetch()) { $idpers = $donnees->idpers; $idpup = $donnees->idpup; $oldid = "$idpers,$idpup"; $lien = $_SERVER["PHP_SELF"].'?a=mod&idpers='.$idpers.'&idpup='.$idpup.'&oldid='.$oldid; echo '<li> <a href="'.$lien.'">'.$donnees->pupitre.' => '.$donnees->nom.' '.$donnees->prenom.'</a>'; } echo '</ul>'; echo dmaj("sais_classeur.php"); echo "</div></body></html>"; exit; break; case 'mod': $action = 'mod'; break; case 'sup': $action = 'sup'; break; default : $action = 'new'; break; }
Ensuite, dans ce bout de code
$sql = "SELECT cdc_adherer.idpers,nom,prenom FROM cdc_adherer LEFT JOIN cdc_personnes ON cdc_personnes.idpers = cdc_adherer.idpers WHERE annee = :annee AND cdc_adherer.idclas = 4 ORDER BY nom,prenom"; $datas = array('annee' => $aadh); $result = executeQuery($sql,$datas);
D'où vient la variable $aadh?
Bonjour,
Toujours besoin de votre aide. Souhaitez-vous que je vous post ma page complète pour pouvoir m'aider?
Pour faire simple j'ai mes cases à cocher, lors de l'INSERT tout ce passe bien et lors de l'UPDATE mes checkboxs sont décoché donc résultat je ne peux pas faire les modifications si besoin.
Merci.
Toujours besoin de votre aide. Souhaitez-vous que je vous post ma page complète pour pouvoir m'aider?
Pour faire simple j'ai mes cases à cocher, lors de l'INSERT tout ce passe bien et lors de l'UPDATE mes checkboxs sont décoché donc résultat je ne peux pas faire les modifications si besoin.
Merci.
su tu souhaites de l'aide, je suggère que tu décrives concrètement ce que tu veux réaliser et ce qui ne fonctionne pas.
au lieu de "je", comme dans " j'ai mes cases à cocher", "je ne peux pas faire", "je coche une case", essaye d'utiliser des mots comme "le formulaire", "le code php", "l'utilisateur du navigateur", et de donner les noms des éléments: comment s’appellent les cases à cocher, où se trouve l'INSERT, ...
rien n'est clair.
au lieu de "je", comme dans " j'ai mes cases à cocher", "je ne peux pas faire", "je coche une case", essaye d'utiliser des mots comme "le formulaire", "le code php", "l'utilisateur du navigateur", et de donner les noms des éléments: comment s’appellent les cases à cocher, où se trouve l'INSERT, ...
rien n'est clair.
Bonjour,
print_r($_POST);
Dans ma base de donnée l'enregistrement => idpup 1 et idpers 2
a bien été effectué.
Merci
print_r($_POST);
Array ( [idpup] => 1 [haction] => new [possession] => Array ( [0] => 2 ) [submit] => Enregistrer )
Dans ma base de donnée l'enregistrement => idpup 1 et idpers 2
a bien été effectué.
Merci
Il me semble que, dans le code que tu as partagé, tu ne fais rien pour utiliser les valeurs cochées. Et tu ne nous expliques pas ce que tu souhaites en faire.
Si tu veux récupérer toutes les valeurs cochées, tu peux faire, par exemple:
Si tu veux récupérer toutes les valeurs cochées, tu peux faire, par exemple:
foreach ($possession as $valeurcochee) { echo $valeurcochee . " est cochée.\n"; }
j'ai mes cases à cocher, lors de l'INSERT tout ce passe bien et lors de l'UPDATE mes checkboxs sont décoché donc résultat je ne peux pas faire les modifications si besoin
Puréeeeee.... je viens de comprendre (enfin je crois....)
Ton souci c'est de cocher les cases LORSQUE TU LES AFFICHES suite à ta requête SELECT ??
Donc le seul bout de code qui nous est utile c'est
$sql = "SELECT cdc_adherer.idpers,nom,prenom FROM cdc_adherer LEFT JOIN cdc_personnes ON cdc_personnes.idpers = cdc_adherer.idpers WHERE annee = :annee AND cdc_adherer.idclas = 4 ORDER BY nom,prenom"; $datas = array('annee' => $aadh); $result = executeQuery($sql,$datas); foreach ($result as $donnees) { echo '<input type="checkbox" name="possession[]" value="'.$donnees->idpers.'" '.$checked.' /> '.$donnees->nom.' '.$donnees->prenom.'<br/>'; }
Et en effet... il va falloir bosser sur la variable
$checked
Mais pour ça... il va falloir que tu ajoutes, dans ta requête select, le champ qui correspond à la valeur 'cochée ou non'.
Sans connaitre la structure de tes tables... IMPOSSIBLE de t'aider !
NB: C'est vraiment de plus en plus difficile de comprendre tes questions.... depuis le temps que je te le répète il serait bien que tu te mettes à faire des efforts ( des GROS EFFORTS) dans la rédaction de tes questions !
Il faut, lorsque tu rédiges tes questions, expliquer le plus CLAIREMENT possible ton souci et donner le code qui correspond.
Là, vu comment était rédigée ta question.. on pensait que ton souci était au niveau de l'insert (lors de la récupération des valeurs des cases à cocher... mais non... aucun rapport... )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Effectivement je n'ai pas posté ma page complète avec les requète INSERT et UPDATE car je pense qu'elle sont inutile à mon problème ceux ci pour ne pas faire un post trop long.
Pardon je devrais récupérer les valeurs des checkboxs mais ce n'ai pas le cas en fait.
Lorsque je coche une case, je sélectionne également une valeur dans la liste déroulante et la variable $aadh corresponds à l'année d'adhésion de la personne que j'ai déclaré au sommet de la page.
Peux tu ajouter un
et nous montrer ce que ça t'affiche lorsque tu cliques sur le bouton de ton formulaire ?
(après avoir coché des cases bien entendu....)