DevZer0是正確的。 您所有的複選框保持到你的數據庫的唯一方法是創建一個隱藏字段插入到HTML表格中顯示的所有複選框(不管是他們的最終地位初始)。 例如,您可能把所有的複選框的名字,像這樣
studID1,studID2,studID3,studID4
在隱藏字段的值。 此隱藏字段將被張貼。 然後,你必須拆分/爲了得到與你的複選框的名稱的數組爆炸你的隱藏字段的值。 你循環這個數組,如果每個複選框名稱的名稱在您的文章參數被發現就意味着他的複選框被選中,你將其插入與出勤1你的數據庫,否則你出席0將其插入到你的數據庫。 如果你無法完成,我可以相應地更改你的代碼。
編輯
你的形式
<input type='hidden' name='allStudIDs' value='studID1,studID2,studID3,studID4,studID5,studID6,studID7' />
<input type='checkbox' name='studID1" />student 1
<input type='checkbox' name='studID2" />student 2
<input type='checkbox' name='studID3" />student 3
<input type='checkbox' name='studID4" />student 4
<input type='checkbox' name='studID5" />student 5
<input type='checkbox' name='studID6" />student 6
<input type='checkbox' name='studID7" />student 7
和你的腳本後門柱
$allStudentIDs = $_POST['allStudIDs'];
$mystudentID = $_POST['studID'];
$tempArray = explode(",", $allStudentIDs);
for ($i=0; $i<count($tempArray); $i++)
{
$studID = $tempArray[$i];
if (isset($_POST[$tempArray[$i]]))
{
$studAtt = 1;
}
else
{
$studAtt = 0;
}
$sql="
INSERT INTO mate_student_att
(attendance,date,studID)
VALUES
('$studAtt','$_POST[myDate]','$studID')
";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
}
mysqli_close($con);
問題不明確先生 – DevZer0
我的意思是我選中框從來沒有到我的數組。我們如何取消選中的值存儲在MySQL數據庫 – SyamAhmad
選中的複選框沒有得到通過郵寄形式發送,沒有給定的複選框是 – DevZer0