我有幾個複選框,我想要將它們的值插入到數據庫中,如果它們被選中。遍歷數組並將數據上傳到數據庫中的行
HTML:
<input type="checkbox" id="m1" name="category[]" value="1"/>
<input type="checkbox" id="m2" name="category[]" value="2"/>
<input type="checkbox" id="m3" name="category[]" value="3"/>
<input type="checkbox" id="m4" name="category[]" value="4"/>
<input type="checkbox" id="m5" name="category[]" value="5"/>
我可以打印出類別數組,並根據我點擊的複選框給出正確的值。我似乎無法循環他們在我的數據庫中插入多行。
插入數據庫後,數據庫應該是這樣的:
| USERID | MACHINEID |
----------------------
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
如果我只單擊第3個複選框。
我的想法是這樣的:
$array_zone = $_POST['category'];
if(isset($_POST['category']))
{
for($i = 0; $i < count($array_zone); $i++)
{
mysql_query("INSERT INTO `userPlanDetail` (`user_id`, `machine_id`) VALUES ('$user_id', ' $array_zone[$i]')");
}
}
不正確的邏輯。 $ _POST可能有數據,但類別部分可能爲空。你的示例代碼也容易受到[SQL注入攻擊](http://bobby-tables.com)的影響,所以不要使用此代碼。 –
感謝您的信息,但現在我只是想獲得輸入到數據庫中的複選框。在此之後加以保護很簡單 – TheNameHobbs
只是想提一提,在直接將它們放入查詢之前,應該將值轉義。查找SQL注入。 –