【发布时间】:2017-08-31 05:00:40
【问题描述】:
我试图创建一个由循环中的输入值组成的数组。我对 PHP 很陌生,并查找了其他几个问题,但无济于事。我正在获取一个随机数“$QuestionNoSelect”并从 MySQL 服务器中选择有关该问题的文本和信息。
//For loop for displaying and naming
for($i = 0; $i < 11; $i++)
{
$QuestionNoSelect = rand(1,16);
array_push($IDListing, $QuestionNoSelect);
$sql = "SELECT QuestionText FROM johnconn_sstest.tbRandomArray WHERE QuestionNo = $QuestionNoSelect";
$QuestionText = $conn->query($sql);
if ($QuestionText->num_rows > 0)
{
// output data of each row
while($row = $QuestionText->fetch_assoc())
{
//Number Question, Increment, Question then input box
echo "<br><br>".$QuestionNumberer. ". ". "<br>";
echo "Question number ID= ".$QuestionNoSelect, "<br>";
$QuestionNumberer++;
echo $row["QuestionText"];
echo '<br>'.'Answer';
echo "<input type='text' name='answerbox[]' id='answerbox[]' class='userInfo' value='".$i."'/>";
echo '<br>'.'comment(if Applicable)';
echo "<input type='text' name='commentbox[]' id='commentbox'[]' class='userInfo' value='".$i."'/>";
}
}
else
{
echo "0 results";
}
}
我试图从我创建的名称或 ID 数组中获取这些值,但无法弄清楚为什么我不能让它工作。我什至无法打印要打印的值数组
//PRINT ANSWER
echo '<br>Answer List <br>';
for($i = 0; $i < 11; $i++)
{
$_POST("answerbox[$i]");
}
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
您的脚本中有拼写错误,请查找
commentbox'[]' class='use(一个'到mutch),然后执行foreach($_POST['answerbox'] as $value){ print $answer; }以更好地理解它,请执行print_r($_POST) -
我建议不要运行 10 个单独的查询。获取您的 10 个随机问题编号,然后向您的数据库询问它们——仅一次。为什么将
$i放入答案框和评论框字段值中?关于您的代码,有很多地方对我没有意义。你不应该使用$i作为你的Numberererer吗? -
我将 $i 放入 var 框中以检查它是否有效。文本输入框的默认值是我在字段值中输入的任何值。是的,我对它是如何工作的感到困惑。我之前在方括号内有 $i ,但我遇到了同样的问题。我查找了与此类似的其他 SO 问题,他们的方括号内没有 $i 。这是我使用 HTML 和 PHP 制作的第一个程序。我敢肯定它写得很糟糕。
-
你的代码中有
-
我目前在表单中有一个完整的 for 循环,最后有一个提交按钮。虽然当我按下提交时,选择的问题被重新打乱了。不过,我可能很容易解决这个问题。
标签: php html mysql arrays forms