2015-02-09 92 views
1

我试图设置一个面板,允许我的管理员添加帖子。不只是一个职位,但多个职位。他们可以点击一个按钮,它基本上增加了几个输入标签来添加名称,链接和描述。3个或更多阵列的PHP FOREACH

但是,我在处理PHP中的$_POST[]值时遇到了一些问题。

我做的东西,像这样:

if(isset($_POST) === true){ 
    $pNames = $_POST["postName"]; 
    $pLinks = $_POST["postLink"]; 
    $pDescs = $_POST["postDesc"]; 
    foreach ($pNames as $pName) { 
     foreach($epLinks as $pLink){ 
      foreach($pDescs as $pDesc){ 
       // do stuff here 
      } 
     } 
    } 
} 

我的问题是,它基本上做它的每一个可能值。 (如预期的那样,我猜)

什么是最好的方式来让所有这些匹配和工作方式我想要它?

例如,如果我添加了两个职位它会是这样的:

PostName1,PostLink1,PostDescription1

然后PostName2,PostLink2和PostDescription2

而且我想他们都被分组在一起,所以我可以相应地将它们添加到mySQL数据库中。

+1

您应该能够架构它,这样你就可以执行'for($ i = 0; $ i 2015-02-09 21:14:48

回答

2

为表单输入使用数组符号:

<input type="text" name="post[0][postName]" /> 
<input type="text" name="post[0][postLink]" /> 
<input type="text" name="post[0][postDesc]" /> 

如果可以重命名这样的元素,然后遍历索引会像其他人所描述的未来最好的事情。

1

假设工作,所有这三个数组的大小都是一样的:

$size = count($pNames); 
for($i = 0; $i < $size; ++$i){ 
    //do stuff here with $pNames[$i], $pLinks[$i], $pDescs[$i] 
} 
0

如果密钥匹配,你可以做这样的事情:

foreach ($pNames as $key=>$pName) { 
    $pLink = $pLinks[$key]; 
    $pDesc = $pDesc[$key]; 
    //do stuff here with $pName, $pLink, $pDesc 
    }