여러 체크박스에서 $_POST 가져오기
1개의 폼에 여러 개의 체크박스가 있습니다(각각 코드 포함).
<input type="checkbox" name="check_list" value="<? echo $row['Report ID'] ?>">
어디에$row['Report ID']
는 데이터베이스의 프라이머리 키이므로 각 값은 다릅니다.
어떤 체크박스가 켜져 있는지 어떻게 알 수 있나요?(복수일 수 있음)
이것은 수신 트레이 시스템용입니다.아래에 모든 메시지(ID:$row['Report ID']
체크박스가 켜져 있습니다.
폼의 이름을 다음과 같이 설정합니다.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.
}
}
?>
편집 @Marc가 다음 코멘트에서 말한 내용을 반영합니다.
게시된 모든 값을 루프할 수 있습니다.
HTML:
<input type="checkbox" name="check_list[]" value="<?=$rowid?>" />
<input type="checkbox" name="check_list[]" value="<?=$rowid?>" />
<input type="checkbox" name="check_list[]" value="<?=$rowid?>" />
PHP:
foreach($_POST['check_list'] as $item){
// query to delete where item = $item
}
체크박스에 이름을 붙여야 합니다.
<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/>";
}
꽤 간단해.주목하면 바로 얻을 수 있습니다. : )
html 배열을 생성하여 php 배열로 보냅니다.html 코드는 다음과 같습니다.
<input type="checkbox" name="check_list[1]" alt="Checkbox" value="checked">
<input type="checkbox" name="check_list[2]" alt="Checkbox" value="checked">
<input type="checkbox" name="check_list[3]" alt="Checkbox" value="checked">
어디에[1] [2] [3]
는ID
즉, 메시지에서echo
당신의.$row['Report ID']
그들의 자리에.
그 후, 폼을 송신하면, PHP 어레이는 다음과 같이 됩니다.
print_r($check_list)
[1] => checked [3] => checked
어떤 것이 체크되고 어떤 것이 체크되지 않았느냐에 따라 달라집니다.
당신은 이 시점부터 계속할 수 있다고 확신합니다.
언급URL : https://stackoverflow.com/questions/4997252/get-post-from-multiple-checkboxes
'programing' 카테고리의 다른 글
jUnit의 다중 RunWith 문 (0) | 2022.09.19 |
---|---|
IP 주소로 ping을 실행할 수 있는데 InetAddress.isReachable이 false를 반환하는 이유는 무엇입니까? (0) | 2022.09.19 |
GROUP_CONCAT를 사용하여 짝수와 홀수를 분할하는 쿼리 (0) | 2022.09.19 |
2개의 어레이가 Foreach 루프에 있음 (0) | 2022.09.19 |
datetime 값을 얻으려면 어떻게 해야 합니까?python에서 timezone을 인식하고 있습니까? (0) | 2022.09.19 |