J'ai un formulaire dans lequel se trouvent plusieurs cases à cocher (chacune avec le code) :
<input type="checkbox" name="check_list" value="<? echo $row['Report ID'] ?>">
Où "$row['Report ID' ;]` est une clé primaire dans une base de données - donc chaque valeur est différente.
Comment pourrais-je savoir quelles cases ont été cochées ? (Peut-être plusieurs)
Ceci est pour un système de boîte de réception et j'ai un bouton en dessous que je veux (quand il est cliqué) pour supprimer tous les messages (ids de : $row['Report ID' ;]
) qui ont la case à cocher's cochée.
Donnez au nom du formulaire la valeur "check_list[]" et vous pourrez accéder à toutes les cases à cocher sous forme de tableau ($_POST['check_list' ;][]
).
Voici un petit exemple comme demandé :
<form action="test.php" method="post">
<input type="checkbox" name="check_list[]" value="value 1">
<input type="checkbox" name="check_list[]" value="value 2">
<input type="checkbox" name="check_list[]" value="value 3">
<input type="checkbox" name="check_list[]" value="value 4">
<input type="checkbox" name="check_list[]" value="value 5">
<input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
foreach($_POST['check_list'] as $check) {
echo $check; //echoes the value set in the HTML form for each checked checkbox.
//so, if I were to check 1, 3, and 5 it would echo value 1, value 3, value 5.
//in your case, it would echo whatever $row['Report ID'] is equivalent to.
}
}
?>
vous devez nommer vos cases à cocher en conséquence :
<input type="checkbox" name="check_list[]" value="…" />
vous pouvez ensuite accéder à toutes les cases cochées avec
// loop over checked checkboxes
foreach($_POST['check_list'] as $checkbox) {
// do something
}
ps. assurez-vous de bien échapper votre sortie (htmlspecialchars()
)
<input type="checkbox" name="check_list[<? echo $row['Report ID'] ?>]" value="<? echo $row['Report ID'] ?>">
Et après le post, vous pouvez les parcourir en boucle :
if(!empty($_POST['check_list'])){
foreach($_POST['check_list'] as $report_id){
echo "$report_id was checked! ";
}
}
Ou obtenir une certaine valeur postée depuis la page précédente :
if(isset($_POST['check_list'][$report_id])){
echo $report_id . " was checked!<br/>";
}