[PHP] recuperation valeur checkbox
thecrazyspy Messages postés 404 Date d'inscription Statut Membre Dernière intervention -
j'aimerai savoir s'il vous est possible de m'indiquer la marche a suivre afin de recuperer la validation d'une ligne de valeur validée a l'aide de checkbox. je mexplike :
j'ai fé plusieurs requete qui m'ont donné un resultat sous cette forme :
id nom email acheter
1 xxx xxxx checkbox
2 xxx xxxx checkbox
3
4
etc...
si je selctionne la ligne 2 et 3, je voudrai qu'en appuyant sur un bouton ENVOYER, cela m'envoi vers une page de confirmation (confirmation.php) recapitulant le choix .
je pense cela possible mais je n'ai aucune idée de la marche a suivre.je me tiens a votre disposition pour de plus amples information. Merci d'avance pour vos reponses
Configuration: Windows XP Internet Explorer 6.0
48 réponses
- 1
- 2
- 3
Récupérer la validation d'une ligne de valeurs via des checkbox et l'envoyer vers une page de confirmation (confirmation.php) constitue la problématique centrale, afin d'afficher le récapitulatif des choix sélectionnés. Plusieurs solutions convergent vers l'utilisation d'un formulaire HTML générant des inputs checkbox nom='option[i]' et d'envoyer les données par POST vers confirmation.php, où le récapitulatif programmé affiche les champs id, nom, email et achats sélectionnés. En pratique, il faut récupérer $_POST côté serveur, itérer sur les clés correspondant aux choix et générer un récapitulatif affiché sur confirmation.php, tout en protégeant les données et en gérant les cas sans sélection.
-
-
pour recuperer tu fait echo = $_POST["chek1"]; par exemple
si ton nombre de checkbox varie il te faudras les nommé dynamiquement ex : check$i pour pouvoir affiche le resultat de chacune -
j'ai un peu oublié de vous donner mon code ... veuillez m'en excuser
$a = $_POST['departement'];
$b = $_POST['thematique_projet'];
$sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
if($result) {
// debut du tableau
echo '<table bgcolor="#FFFFFF" align="center">'."\n";
// première ligne on affiche les titres dans 4 colonnes
echo '<tr>';
echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>';
echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
echo '<td><input type="checkbox" name="option" value="acheter">acheter<br></td>'."\n";
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
?> -
$i=0;
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
echo '<td><input type="checkbox" name="option$i" value="acheter">acheter<br></td>'."\n";
echo '</tr>'."\n";
$i = $i +1;
}
sur l'autre page
echo = $_POST["chek1"];
echo = $_POST["chek2"];-
Merci crazyspy pour tes reponses aussi rapides.
ou dois-je placer
echo "<form action='confirmation.php' method='post'>
ainsi que
echo "<input type='submit'"."value='Validez votre choix'></form>\n";
$a = $_POST['departement'];
$b = $_POST['thematique_projet'];
$sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
if($result) {
// debut du tableau
echo '<table bgcolor="#FFFFFF" align="center">'."\n";
// première ligne on affiche les titres dans 4 colonnes
echo '<tr>';
echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>';
echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
$i=0;
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
echo '<td><input type="checkbox" name="option$i" value="acheter">acheter<br></td>'."\n";
echo '</tr>'."\n";
$i = $i +1;
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
?>
c'est debile mais n'importe ou ke je le place ceci ne fonctionne pas ! Merci
De plus dans confirmation.php je voudrai ke les devis selectionnés soient recapitulés de cette maniere :
Vous avez choisi :
id nom email
Voila merci davance
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
$a = $_POST['departement'];
$b = $_POST['thematique_projet'];
$sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
if($result) {
// debut du tableau
echo "<form action='confirmation.php' method='post'>
echo '<table bgcolor="#FFFFFF" align="center">'."\n";
// première ligne on affiche les titres dans 4 colonnes
echo '<tr>';
echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>;';
echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
$i=0;
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
echo '<td><input type="checkbox" name="option'.$i.'" value="acheter">acheter<br></td>'."\n";
echo '</tr>'."\n";
$i = $i +1;
}
echo '</table>'."\n";
echo "<input type='submit'"."value='Validez votre choix'></form>\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
?>
comme cela j'ai modif un petit truck aussi au niveau du nom de la checkbox-
ah oui, je viens de voir .
hum, par contre maintenant plus rien de s'affiche sur liste.php.
$a = $_POST['departement'];
$b = $_POST['thematique_projet'];
$sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
if($result) {
// debut du tableau
echo "<form action='confirmation.php' method='post'>
echo '<table bgcolor="#FFFFFF" align="center">'."\n";
// première ligne on affiche les titres dans 4 colonnes
echo '<tr>';
echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>;;';
echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
$i=0;
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
echo '<td><input type="checkbox" name="option'.$i.'" value="acheter">acheter<br></td>'."\n";
echo '</tr>'."\n";
$i = $i +1;
}
echo '</table>'."\n";
echo "<input type='submit'"."value='Validez votre choix'></form>\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
?>
j'ai remplacé par ton code ...
-
-
name="option'.$i.'" et si tu remet name="option$i"
-
moi jen utilise elle esont ecrite comme cela :
<input type='checkbox' value='suppr' name='suppr' /> -
echo "<input type='submit' value='Valider' /></form>";
en mettant ceci a la place de
echo "<input type='submit'"."value='Validez votre choix'></form>\n";-
maleureusment, ceci ne change rien.
des que j'enleve le form ca refonctionne autrement cela ne m'affiche rien sur liste.php.
Je ne vois pas ce qui va pas.
$sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
if($result) {
// debut du tableau
echo "<form action='confirmation.php' method='post'>
echo '<table bgcolor="#FFFFFF" align="center">'."\n";
// première ligne on affiche les titres dans 4 colonnes
echo '<tr>';
echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>';
echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
$i=0;
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
echo '<td><input type="checkbox" name="option$i" value="acheter">acheter<br></td>'."\n";
echo '</tr>'."\n";
$i = $i +1;
}
echo '</table>'."\n";
echo "<input type='submit' value='Valider' /></form>";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
?>
-
-
echo "<form action='confirmation.php' method='post'> la aussi sa va pas faut mettre
echo '<form action="confirmation.php" method="post">'; -
et avec sa :
echo "<form action='confirmation.php' method='post'> la aussi sa va pas faut mettre
echo '<form action="confirmation.php" method="post">'; -
c'est logique lool
echo = $_POST["option1"];
echo = $_POST["option2"];
test avec cela -
et echo = $_POST["acheter"];
-
question bete mais tu coche bien les cases lool
-
c'est possible de voir ce que cela fait, c'est accessible sur le net?
-
sinon test
<input type="checkbox" name="acheter" value="acheter">
et
echo $_POST["acheter"]; -
<input type="checkbox" name="acheter" value="acheter"> tu met
<input type="checkbox" name="'.$row['id'].'" value="acheter">
le checkbox va t'affiche l'id et avec tu pourra faire une requete qui va affiché id nom email , le check va te servir a faire un autre requete permettant d'afficher les info que tu veu, c'est pas trop clair ce que je raconte lool, je vais devoir partir la mais si tu veu m'envoyer tes pages par mail je peux look ce soir, avec ta base -
ok demain j'y serai aussi
-
mon cher crazyspy,
me revoila comme promis. je galere toujours autant !!
je n'arrive toujours pas a recuperer les infos des checkbox chekés !!
je ne sais pas koi mettre dans mon input et ni dans ma page confirmation.php pour les recuperer.
je fais donc appel a tes conseils avisés !
Merci
PS: et si crazyspy il est pas arrivé, les autres aussi vous pouvez repondre :) !!
-
-
je suis la moi aussi lool, je vais relire un peu histoire de me remettre dans le bain
-
le mieux serai que tu donne a tes checkbox la valeur de l'identifiant, comme cela tu peux faire une requete qui t'affiche les infos que tu souhaite grace au casse cocher?tu voi un peu se que je veu dire?
-
non plutot :
value="'.$row['id'].'">acheter<br></td>'."\n";
comme cela ta l'identifiant de ta ligne qui correspond au choix des deux listes, et avec tu fais un requete qui aurra pour condition que l'identifiant soit egale a $_POST["option1"], $_POST["option2"], ....-
bon attention : Freestyle ! je me prépare a dire et a faire n'importe quoi ! EN AVANT !
dans liste.php, je met :
...
$i=0;
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
echo '<td><input type="checkbox" name="option'.$i.'" value="'.$row['id'].'">acheter<br></td>'."\n";
echo '</tr>'."\n";
$i = $i +1;
}
...
dans confirmation.php :
$c = $_POST['option'.$i.''];
$sql = "SELECT id,departement,commentaires FROM devis_table WHERE id = '" . $c . "' $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
Voila je suis dsl, je m'y connait pas trop bien.je debute juste alors excusez moi pour les erreurs basiques ! Merci de me corriger
-
- 1
- 2
- 3