我最近遇到了一个必须通过PHP创建调查表的场景。 作为第一步:
如:
<?php
$query = "SELECT * FROM questions WHERE 1"; //return all rows query
$row = mysqli_query($conn,$query); //run query
$num_rows = mysqli_num_rows($row); //save the num of rows
// echo $num_rows
for($x=1; $x<=$num_rows; $x++) {
$get_question="SELECT `questions` FROM `questions` WHERE id='$x'";
$question = mysqli_query($conn,$get_question);
?>
<?php
while($var = mysqli_fetch_assoc($question)) {
echo "Q:"." ". $var['questions']."</br>";
}
?>
<form name="survey" action="" method="GET">
<input type="radio" value="Yes" name="question<?php echo $x?>">Yes</br>
<input type="radio" value="No" name="question<?php echo $x?>">No</br>
<?php
echo "</br>";
}
?>
</br>
<input type="submit" value="Submit" name="submit">
</form>
</center>
现在,为了区分每个问题&#39;是/否&#39;来自其他问题的选项&#39;是/否&#39;选项,我已将变量&#39; x&#39;(用于启动forloop循环的变量)与单选按钮的名称连接起来。
因此,对于Question1,单选按钮的名称为&#34; question1&#34;,对于问题2,名称将为&#34; question2&#34;等等。
当我想通过&#39; isset&#39;来获取单选按钮的值时,会发生复杂性。功能。由于名称不同,所以如何在isset函数中传递变量。
像必须一样:if( isset($_GET['submit'])) {
$get_value= **isset($_GET['question$x']**)
}
我也尝试过:
$get_value= **isset($_GET['question'.'$x']**)
和其他类似的方法,但这些都不起作用。 我将非常感谢你的帮助。 提前谢谢。
答案 0 :(得分:0)
将SELECT查询替换为:SELECT questions FROM questions WHERE id='".$x."'
答案 1 :(得分:-1)
是的,应该可以:isset($_GET['question' . $x])
单引号字符串中的变量不起作用。你不必把它放在一个字符串中来连接它。
这些都有效:
'question' . $x
"question$x"