2010-07-12 124 views
3

我有一個jQuery函數,它允許用戶創建一個鏈接列表。通過點擊「添加行」鏈接,他們創建儘可能多的這些塊(如下所示),因爲他們可以將信息輸入到其中。將兩個輸入數組組合成一個數組並將其輸入到數據庫中使用PHP

<div class="links_row"> 

    <input type="text" name="link_name[]"> 
    <input type="text" name="link_url[]"> 

</div> 

我張貼這個數據到PHP函數來插入到數據庫中,看起來像這樣:

+---------------+ 
|id    | 
+---------------+ 
|name   | 
+---------------+ 
|url   | 
+---------------+ 

我需要找出如何結合兩個輸入數組LINK_NAME []和LINK_URL []並遍歷生成的單個數組,將每個數據行作爲一行插入到數據庫中。

回答

2

大概沒有這樣做的最徹底的方法,但快速循環應該這樣做。 我假設你已經驗證和消毒了表單數據,並確保數組的大小相同。

$rows = array(); 

$num_results = count($_POST['link_name']); 
for($i = 0; $i < $num_results; $i++) { 
    $rows[$i]['url'] = $_POST['link_url'][$i]; 
    $rows[$i]['name'] = $_POST['link_name'][$i]; 
} 
+0

+1。快速和簡單,我認爲這是更多什麼塑化是 – Ben 2010-07-12 02:56:56

+0

謝謝,這工作了一個治療:) – Plasticated 2010-07-12 03:53:10

1

合併。你的意思是像array_merge()結合?

如果是這樣,請使用它。

編輯: 第二個想法,你可能想要array_combine()。它需要兩個數組並返回一個輸入數組提供鍵和另一個提供值的位置。

+0

+1 array_combine http://br.php.net/manual/en/function.array-combine.php – BrunoLM 2010-07-12 02:46:34

+0

如何array_combine要解決他的問題?會喜歡看代碼示例 – Ben 2010-07-12 02:55:28

+0

array_combine()將一個數組與第二個數組關聯。假設理智的HTML,它們將以相同的順序。加上一個表,它可以生成自己的ID(自動增量或觸發器/序列或其他)以及插入的foreach。 – Kalium 2010-07-12 02:57:09

相關問題