2015-04-18 32 views
2

基本上我試圖用多個值更新我的數據庫。輸入字段是循環的,所以我需要同時更新多個複選框和文本框。使用從循環接收的多個複選框值更新數據庫?

$cityID = $_POST["cityID"]; 
$cityStatus = $_POST["cityStatus"]; 
$cityOrder = $_POST["cityOrder"]; 

$updateCities = $db->execute("UPDATE cities SET city_status=?, city_order=? WHERE city_ID=$cityID", array($city_status, $cityOrder)); 

foreach($cities as $row) : 
?> 

<input type="checkbox" name="cityStatus[]" value="1"> 
<input type="text" name="cityOrder[]" value="<?php echo $row->city_order ?>"> 
<input type="hidden" name="cityID" value="<?php echo $row->city_ID; ?>"> 
+0

請告訴我問題嗎?任何錯誤? – Mihai

+0

爲什麼當你爲別人使用佔位符時,你直接在查詢中注入'$ cityID'? – Sean

+0

輸入字段在循環中,所以我試圖同時更新多個複選框。 –

回答

1

我明白是 1.你有3個領域(cityid,cityorder,城市地位) 2.你是從形式提交所有這些值的數組 3.選擇你想要更新cityorder和citystatus取決於cityid

的解決方案是非常簡單的

$i=0; 
foreach($_REQUEST['cityOrder']) as $cityorder){ 

$cityID = $_POST["cityID"][$i]; 
$cityStatus = isset($_POST["cityStatus"][$i])?$_POST["cityStatus"][$i]:0; 
$cityOrder = $_POST["cityOrder"][$i]; 

$updateCities = $db->execute("UPDATE cities SET city_status=?, city_order=? WHERE city_ID=$cityID", array($city_status, $cityOrder)); 

$i++; 
}