2013-08-01 70 views
-1

底部我有checkoxes表。我使用數組來處理這個。但提交後不知何故。取消選中值始終在mysql列表的底部。這裏是我的代碼:取消選中複選框值始終在列表中的MySQL

$mystudentID = $_POST['studID']; 
$mystudATT = $_POST['myattt']; 
$number = count($mystudentID); 

for ($i=0; $i<$number; $i++) 
{ 
    $studID = $mystudentID[$i]; 
    $studAtt = $mystudATT[$i]; 

    $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); 

請幫

+3

問題不明確先生 – DevZer0

+0

我的意思是我選中框從來沒有到我的數組。我們如何取消選中的值存儲在MySQL數據庫 – SyamAhmad

+0

選中的複選框沒有得到通過郵寄形式發送,沒有給定的複選框是 – DevZer0

回答

0

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); 
相關問題