Php 从页面上的每个文本框中获取值
我正在编写一个页面,我遇到了一个问题。 问题是,我正在制作一个页面,在这里你可以回答所有类型的问题,但由于可以为该页面制作新的问题,我无法跟踪每个输入框,因为它不可能是手动的 假设我有文本框:Php 从页面上的每个文本框中获取值,php,html,client-side,javascript,jquery,Php,Html,Client Side,Javascript,Jquery,我正在编写一个页面,我遇到了一个问题。 问题是,我正在制作一个页面,在这里你可以回答所有类型的问题,但由于可以为该页面制作新的问题,我无法跟踪每个输入框,因为它不可能是手动的 假设我有文本框: <input type="text" name="question_1" /> <input type="text" name="question_2" /> <input type="text" name="question_3" /> <input type=
<input type="text" name="question_1" />
<input type="text" name="question_2" />
<input type="text" name="question_3" />
<input type="text" name="question_4" />
等等,因为我不知道会有多少
所以我的问题是:是否有可能获取每个输入框的值,哪个名称以“question_”开头,并将它们存储在一个变量中
提前谢谢,对不起我的英语不好:)
循环通过它们,直到它为空。这会将它们推送到一个数组中,但您可以在循环中使用它们
然后,您也可以从中生成字符串,例如MySQL查询:
$i = 1;
$firstpartofquery = "";
$secondpartofquery = "";
while ($_POST["questions_".$i]) {
$i++;
if ($firstpartofquery) { $firstpartofquery .= ", "; }
$firstpartofquery .= "question_" . $i;
if ($secondpartofquery) { $firstpartofquery .= ", "; }
$secondpartofquery .= "'" . $_POST["questions_".$i] . "'";
}
$myquery = "INSERT INTO question($firstpartofquery) VALUES($secondpartofquery)";
循环通过它们,直到它为空。这会将它们推送到一个数组中,但您可以在循环中使用它们
然后,您也可以从中生成字符串,例如MySQL查询:
$i = 1;
$firstpartofquery = "";
$secondpartofquery = "";
while ($_POST["questions_".$i]) {
$i++;
if ($firstpartofquery) { $firstpartofquery .= ", "; }
$firstpartofquery .= "question_" . $i;
if ($secondpartofquery) { $firstpartofquery .= ", "; }
$secondpartofquery .= "'" . $_POST["questions_".$i] . "'";
}
$myquery = "INSERT INTO question($firstpartofquery) VALUES($secondpartofquery)";
只需将表单的所有输入元素命名为
question[]
i、 e
然后从脚本中,您可以循环遍历它们,类似于以下内容:
$questions = $_POST['question'];
foreach ($questions as $question){
echo $question." <br /> \n";
}
$questions=$\u POST['question'];
foreach($问题作为$问题){
回显$question。“
\n”;
}
如果您希望通过(例如)或(例如)处理网络上的这些字段,此解决方案将使您的生活更加轻松,您将能够轻松地处理这些字段,如下所示:
<script>
questions = document.getElementsByName('question[]');
</script>
questions=document.getElementsByName('question[]);
因此,通过这种方式,您有一个包含您的问题的所有对象(字段)的数组。我认为,这是处理表单中同一实体的多个字段的标准解决方案。只需将表单的所有输入元素命名为
question[]
i、 e
然后从脚本中,您可以循环遍历它们,类似于以下内容:
$questions = $_POST['question'];
foreach ($questions as $question){
echo $question." <br /> \n";
}
$questions=$\u POST['question'];
foreach($问题作为$问题){
回显$question。“
\n”;
}
如果您希望通过(例如)或(例如)处理网络上的这些字段,此解决方案将使您的生活更加轻松,您将能够轻松地处理这些字段,如下所示:
<script>
questions = document.getElementsByName('question[]');
</script>
questions=document.getElementsByName('question[]);
因此,通过这种方式,您有一个包含您的问题的所有对象(字段)的数组。我认为,这是处理表单中同一实体的多个字段的标准解决方案。那
通常是一个输入错误,您应该添加isset
,以防止出现提示。谢谢你的帮助,它给了我一些想法,我可以从中开始。但是现在我需要将这些值插入mysql数据库中它们各自的字段中。因为我得到了一个名为“questions”的表,其中有一些字段的名称与输入框的名称相同。所以我需要以某种方式将我在这里得到的值传输到数据库,但我不知道如何传输。我想不出如何让它工作,比如mysqli_query($link,“插入到问题中(问题1,问题2m…)的值(‘“$_POST[“问题$$I”]”),‘“$_POST[“问题$$I”]”,‘,……);,但这是不对的。。提前感谢您可以附加到字符串(或2)而不是添加到数组。请看我的编辑。谢谢你的回答!那是
通常是一个输入错误,您应该添加isset
,以防止出现提示。谢谢你的帮助,它给了我一些想法,我可以从中开始。但是现在我需要将这些值插入mysql数据库中它们各自的字段中。因为我得到了一个名为“questions”的表,其中有一些字段的名称与输入框的名称相同。所以我需要以某种方式将我在这里得到的值传输到数据库,但我不知道如何传输。我想不出如何让它工作,比如mysqli_query($link,“插入到问题中(问题1,问题2m…)的值(‘“$_POST[“问题$$I”]”),‘“$_POST[“问题$$I”]”,‘,……);,但这是不对的。。提前感谢您可以附加到字符串(或2)而不是添加到数组。请看我的编辑。谢谢你的回答!
<script>
questions = document.getElementsByName('question[]');
</script>