无法将复选框值插入数据库


Cannot insert checkbox value into database

你好,我是PHP语言的新手。所以我希望你们能对我简单一点。我需要像创建一个会议考勤系统一样。现在我陷入了困境。我需要为每个创建的会议事件添加一个部门的工作人员。当我从下拉菜单中单击从数据库中检索的每个部门时,员工名称已经出现。现在,我尝试从复选框中选择要添加会议id的工作人员。但当我在选中工作人员名称后单击提交按钮时,没有发生任何事情。我想用会议id添加到一个新表中。display.php是我创建的代码,用于显示工作人员名称,选中复选框并从用户表中检索记录。checkbox.php用于将选中的复选框插入到会议人员表中。请任何人帮帮我。

在这里,我附上了我的PHP代码

显示.php

<label>Reference No:</label>
<label id="attach"><?php echo $_GET["refno"]; ?></label>
<form action="display.php?refno=<?php echo $_GET["refno"]; ?>" method="post">
     <?php do { ?>
        <form action="checkbox.php?refno=<?php echo $_GET["refno"]; ?>" method="post">
        <tr >
        <td><div align="center"><input name="chkl[]" type="checkbox" id="checkbox[]" value="<?   echo $row_Recordset4['staffname']; ?>"></td>
        <td><div align="center"><?php echo $row_Recordset4['staffname']; ?></div></td>
        <td><div align="center"><?php echo $row_Recordset4['staffno']; ?></div></td>
        </div></td>
        </tr>
        <?php } while ($row_Recordset4 = mysql_fetch_assoc($Recordset4));?>

checkbox.php

<label>Reference No:</label>
<label id="attach"><?php echo $_GET["refno"]; ?></label>
<?php
$checkbox1 = $_POST['chkl'];
if($_POST["Submit"]=="Submit")
{
for ($i=0; $i<sizeof($checkbox1);$i++) {
$query="INSERT INTO meetingstaff (staffname, staffno) VALUES ('".$checkbox1[$i]."')";
mysql_query($query) or die (mysql_error());
}
echo "Record is inserted";
}
?>

您需要插入第二个参数,或者从INSERT语句的第一部分中删除, staffno。您只传递一个值,但指示两列。

所以更改您的:

INSERT INTO meetingstaff (staffname, staffno) VALUES ('".$checkbox1[$i]."')

至任一

INSERT INTO meetingstaff (staffname) VALUES ('".$checkbox1[$i]."')

或者

INSERT INTO meetingstaff (staffname, staffno) VALUES ('".$checkbox1[$i]."', ".$i.")