2013-07-07 28 views
1

我將輸入字段作爲要插入到數據庫的不同行中的數組收集。但是它只插入數組的第一行。將多個數組插入到不同的行中

請協助。我有一些處理數組的問題。我不知道如何構建查詢,我嘗試在線搜索,但無法獲得足夠的幫助。我會非常感謝幫助查詢。

這裏是我的HTML代碼:

<input type = "text" class = "form_element" name = "wat_office_type[]" /> 
<input type = "number" name = "wat_office_price[]" class = "form_element" /> 

,而我使用jQuery添加更多的輸入框。

這裏是我的PHP:

$wat_office_type_post = $_POST['wat_office_type']; 
$wat_office_price_post = $_POST['wat_office_price']; 
$wat_office_type = array(); 
$wat_office_price = array(); 

foreach ($wat_office_type_post as $type) { 
    if (!empty($type)) 
     $wat_office_type[] = $afrisoft->antiHacking($type); 
} 

foreach ($wat_office_price_post as $post) { 
    if (!empty($post)) 
     $wat_office_price[] = $afrisoft->antiHacking($post); 
} 

我要插入到2個獨立的行和實現這樣的事情:

-------------------------------------------- 
| Pk | wat_office_type | wat_office_price | 
-------------------------------------------- 
| 1 | executive office |    1000 | 
-------------------------------------------- 
| 2 | Training room |    4000 | 
-------------------------------------------- 
| 3 | Events room  |    5000 | 
-------------------------------------------- 

我會好心感激,如果我能與insert得到幫助查詢(mysql,php)關於如何將第一個數組的所有值插入到一列中,並將第二個數組的值插入到第二列中,而每個數組都匹配d提供的數組數。

謝謝。

回答

0

如果我理解正確的話,你需要兩個陣列組合成類似

$list = array(
array('pk' => 1, 'type' => 'executive', 'price' => 1000), 
array('pk' => 2, 'type' => 'training room', 'price' => 4000), 
array('pk' => 3, 'type' => 'events room', 'price' => 5000) 
); 

,那麼你可以調用一個foreach循環每個元素來查詢數據庫,就像

foreach($list as $key => $value) { 
$sql = "INSERT INTO table_name (pk, type, price) VALUES (?, ?, ?)"; 
$query = $this->db->prepare($sql); 
$params = array($value['pk'], $value['type'], $value['price']); 
    if($query->execute($params)) { 
    return true; 
    } else { 
    return false; 
    } 
} 

所以相反,做兩個foreach循環並將結果放入不同的數組中,您可以使用一個foreach循環,併爲每組結果創建一個關聯數組(我假設這兩個數組的計數是相同的?),如上所述。

相關問題