我有多個複選框用於從表單插入MySQL。如何統計具有不同「名稱」屬性的選中複選框的數量?
<fieldset id="my_checkboxes">
<legend>My Checkboxes (Select at least 2)</legend>
<label for="checkbox1">
<input type="checkbox" id="checkbox1" value="yes" name="the_checkbox" />
CheckBox #1
</label>
<label for="checkbox2">
<input type="checkbox" id="checkbox2" value="yes" name="the_checkbox2" />
CheckBox #2
</label>
</fieldset>
我需要能夠讓每個複選框有一個唯一的NAME屬性,因爲每個複選框將數據插入到數據庫它自己的專欄。 (否則,我只會使用the_checkbox[]
作爲每個名稱)。
我的問題是我需要讓用戶選擇至少2個複選框才能提交表單。因爲我有單獨的名稱爲每個,我再也無法爲它計數通過名稱使用下面的代碼:
$checkboxcount = count($_POST['the_checkbox']);
if($checkboxcount < 1)
{
$errors[] = $checkboxcount;
}
MY SQL語句如下所示:
$sql = "INSERT INTO $db_table(the_checkbox,the_checkbox2) values
(
'".mysql_real_escape_string(stripslashes($_REQUEST['the_checkbox']))."',
'".mysql_real_escape_string(stripslashes($_REQUEST['the_checkbox2']))."'
)";
你會建議我到什麼任答:計數複選框,即使單獨的名稱,或B.保持相同的名稱,但以某種方式插入數據到MySQL作爲單獨的列名稱?
你的SQL語句是什麼樣的? –
用SQL語句編輯問題。 – Joe
首先,你應該接受邁克爾的答案,因爲它正確地符合你的要求。其次,你不應該像你的代碼那樣使用REQUEST。相反,只有在複選框被選中的情況下,您才應該將值轉換爲第二個變量。否則,你將在某些服務器上出現問題。這是因爲只有CHECKED框被張貼到表單。 +1爲邁克爾 – itsols