Имам 1 формуляр с няколко квадратчета за отметка в него (всяко с кода):
<input type="checkbox" name="check_list" value="<? echo $row['Report ID'] ?>">
Където $row['Report ID']
е първичен ключ в базата данни - така че всяка стойност е различна.
Как ще мога да разбера кои квадратчета са били маркирани? (Може би няколко)
Това е за система за входяща поща и имам бутон отдолу, който искам (когато бъде щракнат) да изтрие всички съобщения (идентификатори на: $row['Report ID']
), които имат отметка в квадратчето's.
Задайте името на формата на check_list[]
и ще имате достъп до всички полета за отметка като масив ($_POST['check_list'][]
).
Ето една малка извадка, както беше поискано:
<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.
}
}
?>
трябва да дадете съответните имена на квадратчетата за отметка:
<input type="checkbox" name="check_list[]" value="…" />
След това можете да получите достъп до всички отбелязани квадратчета с
// loop over checked checkboxes
foreach($_POST['check_list'] as $checkbox) {
// do something
}
ps. уверете се, че правилно екранирате изхода (htmlspecialchars()
)
<input type="checkbox" name="check_list[<? echo $row['Report ID'] ?>]" value="<? echo $row['Report ID'] ?>">
И след публикацията можете да ги прегледате:
if(!empty($_POST['check_list'])){
foreach($_POST['check_list'] as $report_id){
echo "$report_id was checked! ";
}
}
Или да получите определена стойност, публикувана от предишната страница:
if(isset($_POST['check_list'][$report_id])){
echo $report_id . " was checked!<br/>";
}