我正在尝试从有复选框的HTML表单中获取输入。这些复选框是使用数据库中的student_ids创建的。如下所示:
<td><input type="checkbox" name="{$row['STUDENT_ID']}" />我想要做的是逐步检查学生表,并检查所有选中了复选框的条目。然后,我想从数据库中删除已通过复选框选中的条目。
8 $query = "SELECT STUDENT_ID From Students";
9 $result = mysql_query($query) or die(mysql_error());
10 while($row=mysql_fetch_array($result)){
11 $checkname=$row['STUDENT_ID'];
12 foreach($_POST[$checkname] as $student_id =>val)
13 {
14 if($val == 'YES'
15 {
16 echo $_POST['STUDENT_ID'];
17 $query = "DELETE FROM Students WHERE STUDENT_ID" . mysql_real_escape_string($STUDENT_ID);
18 }
19 echo $query;
20 $result = mysql_query($query) or die(mysql_error());
21 //echo $POST['STUDENT_ID'];
22 }
23 }发布于 2011-10-25 03:02:04
创建复选框数组:
<input type="checkbox" name="studentID[]" value="{$row['STUDENT_ID']}" />来自PHP:
$studentID = $_POST['studentID'];
foreach($studentID as $ID){
echo $ID.'<br />'."\n";
}编辑:不确定,但我认为这是正确的方式:
$studentID = $_POST['studentID'];
$i=0;
foreach($studentID as $ID){
$i++;
echo $_POST['studentID'][$i].'<br />'."\n";
}发布于 2011-10-25 03:01:26
在您的表单中尝试以下内容:
<input type="checkbox" name="STUDENT_ID[<?php echo $row['STUDENT_ID'] ?>]" value="YES" />下面是你的PHP循环:
foreach ($_POST['STUDENT_ID'] as $student_id => $val) {
if ($val == 'YES') {
$query = "DELETE FROM Students WHERE STUDENT_ID=" . mysql_real_escape_string($student_id);
$result = mysql_query($query) or die(mysql_error());
}
}发布于 2011-10-25 03:04:22
执行此操作的更好方法是从已提交的复选框中获取学生ID,然后对其运行删除。
HTML
<input type="checkbox" name="students_to_delete[]" value="{$row['STUDENT_ID']}" />PHP
$students_to_delete = $_POST['students_to_delete'];
if(is_array($students_to_delete) && count($students_to_delete) > 0) {
$query = "DELETE FROM Students WHERE STUDENT_ID IN (" . implode(",", $students_to_delete) . ")";
$result = mysql_query($query) or die(mysql_error());
}https://stackoverflow.com/questions/7880210
复制相似问题