2010-07-12 91 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

相关问题