如何从以特定名称开头的提交表单中循环 2 个值,将其插入 mysql 表行并循环获取更多信息?
我有一个包含许多输入选择和文本区域的帖子表单,在该表单的一部分中有 2 个字段(链接、描述)然后我有一个按钮,它生成一个具有相同字段的额外行,但在中添加数字 1 2 3姓名。因此,当我单击以生成这两个字段的新行时,它的外观如下:
<label for="stack_input"><input id="stack_input" name="extravalue" value="" type="text"></label>
<label for="flow_input"><input id="flow_input" name="secondextravalue" value="" type="text"></label>
<label for="stack_input"><input id="stack_input" name="extravalue1" value="" type="text"></label>
<label for="flow_input"><input id="flow_input" name="secondextravalue1" value="" type="text"></label>
<label for="stack_input"><input id="stack_input" name="extravalue2" value="" type="text"></label>
<label for="flow_input"><input id="flow_input" name="secondextravalue2" value="" type="text"></label>
现在我将表单与表单的其余输入和文本区域一起发布,但我希望一次将每 2 个额外字段添加到新的数据库行中,作为每次添加到同一行的一对。现在我可以创建一个 foreach,但我一次只能将 2 个字段中的 1 个添加到新表行中。
这是使 1 个字段发生这种情况的代码。我对 php 说要获取所有以“extravalue”开头的帖子数据,这是两个(对生成的)输入字段中的第一个,每次找到一个帖子值都以“extravalue”开头,然后插入表中。因为每次我生成一个新行时,这两个输入字段的基本名称分别为“extravalue”和“secondextravalue”,并且每次在名称末尾添加数字 1 2 3 等。这里的代码:
foreach($_POST as $key => $value)
{
if (strpos($key, 'extravalue') === 0)
{
mysql_query("INSERT INTO tablename VALUES ('','','$value','','','')")or die("ADD Error: ".mysql_error());
}
}
现在我想获取每对生成的输入字段并在同一行中插入数据库。
所以我想做以下事情:
对于每一个,
"extravalue" "secondextravalue"
"extravalue1" "secondextravalue1"
"extravalue2" "secondextravalue2"
mysql_query("INSERT INTO tablename VALUES ('','','$value','$value2','','')")or die("ADD Error: ".mysql_error());
mysql_query("INSERT INTO tablename VALUES ('','','$value','$value2','','')")or die("ADD Error: ".mysql_error());
mysql_query("INSERT INTO tablename VALUES ('','','$value','$value2','','')")or die("ADD Error: ".mysql_error());
简而言之,我想对 php 说,每次你找到以“extravalue”和“secondextravalue”开头的值时,将它们插入到同一个表行中,然后循环继续搜索下一对开始的两个值同名。