2016-08-02 63 views
0

歡迎, 我有一些問題與形式和插入數據到MySQL。 我的形式有一個輸入:當複選框被選中時,如何將表單數據插入到mysql中?

<inpu type="checkbox" name="check"> 

,這是我的代碼這種形式的數據插入到MySQL。

if(isset($_POST['check'])) { //things to insert } 

,當我選擇一個複選框代碼插入的每個記錄,當我選擇所有的複選框其還插入每個記錄(所有數據)。但是,當我不選擇複選框插入是空的(好)。 這個複選框有什麼問題?

+0

對不起我的英語:-) – MB83

+0

你應該提供更多的代碼,一個小例子,我們可以看到多個記錄以及你的php腳本如何處理這些記錄。 – Jakumi

回答

0

複選框僅在檢查時通過POST發送。如果他們沒有檢查,他們不會被髮送。也許你期望值'開',如果選中,價值'關',如果沒有選中,但沒有!,如果選中,您將只收到'開',否則不會。所以如果你收到複選框(在你的post set 1,true,'Y'或者你在數據庫中用於布爾值的任何東西,請用isset($ _ POST ['checkbox_name']')變量來檢查它)如果你沒有收到! isset()函數然後設置爲0,假,或 'N' 同樣的情況是有殘疾INPUT元素,它們的值不被髮送噸服務器

<form action"processor.php" method="post"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input type="submit" value="Save"> 
</form> 

在你processor.php文件:。

$data=$_POST['data']; //array received 
$checks=$_POST['check']; //array received (checked only) 
foreach($checks as $key=>$check) //loop through all checks that are sent 
{ 
    $value=$data[$key]; //do whatever you want with corresponding data 
} 
+0

你能寫我如何改變輸入值在php /上我的例子? – MB83

+0

目前還不清楚你想用你的複選框達到什麼目的。你談論你想要插入的數據,複選框只帶來布爾值'on'或'off'。你想存儲什麼數據? – sbrbot

+0

我想插入一條記錄(id,event_id,名稱,start_time)到mysql。而已。但只有那些由輸入複選框選中的記錄。 – MB83