有没有办法在PHP isset函数中传递与变量连接的元素名称?例如isset($ _ GET ['提交'。' $ x'])

时间:2017-03-18 12:21:03

标签: php mysql phpmyadmin get isset

我最近遇到了一个必须通过PHP创建调查表的场景。 作为第一步:

  • 我在一个名为' questions'的表格中保存了两个调查问题。和 数据库名称也是'问题'。
  • 我使用for循环将两个保存在数据库中的每个问题拉出来 单选按钮说'是/否'在每个问题下面。由于for循环,单选按钮也出现。

如:

<?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']**)

和其他类似的方法,但这些都不起作用。 我将非常感谢你的帮助。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

将SELECT查询替换为:SELECT questions FROM questions WHERE id='".$x."'

答案 1 :(得分:-1)

是的,应该可以:isset($_GET['question' . $x])

单引号字符串中的变量不起作用。你不必把它放在一个字符串中来连接它。

这些都有效:

  • 'question' . $x
  • "question$x"