我正在尝试设置一个允许我的管理员添加帖子的面板。不只是一个帖子,而是多个帖子。他们可以单击一个按钮,它基本上添加了一些输入标签来添加名称,链接和描述。
但是,我在处理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数据库中。
答案 0 :(得分:2)
对表单输入使用数组表示法:
<input type="text" name="post[0][postName]" />
<input type="text" name="post[0][postLink]" />
<input type="text" name="post[0][postDesc]" />
如果你可以用这种方式重命名元素,那么循环遍历索引将是其他人所描述的最好的事情。
答案 1 :(得分:1)
假设所有三个数组的大小始终相同:
$size = count($pNames);
for($i = 0; $i < $size; ++$i){
//do stuff here with $pNames[$i], $pLinks[$i], $pDescs[$i]
}
答案 2 :(得分:0)
如果按键匹配,您可以执行以下操作:
foreach ($pNames as $key=>$pName) {
$pLink = $pLinks[$key];
$pDesc = $pDesc[$key];
//do stuff here with $pName, $pLink, $pDesc
}