函数内部的数据库查询没有发布到页面

时间:2012-11-30 15:29:50

标签: php mysql function select-menu

我是php函数的新手,我正在尝试构建一个if语句,查看数据库表以查看名为tableformatting的列。这个表是我的测验问题的格式选项存储的地方,例如,如果我希望我的问题的答案显示为下拉菜单,我会在添加测验问题时选择该选项,然后当它从数据库中拉出时将被格式化为。

目前,if语句如下所示:

    <?php
    // Lookup Question Format & Format Using Function //
    $questionformat="SELECT * FROM itsnb_chronoforms_data_createquestions WHERE questionID='$questionID'";
    $questionformatresult =mysql_query($questionformat);
    while ($formatrow = mysql_fetch_array($questionformatresult)){
    $format = $formatrow['questionformat']; }

            if ($format == 'questionformatdropmenu')
            {dropdownmenu ();
            }
            else
            {}

     ?> 

,格式化函数如下所示:

<?php
    // Question formatting functions //

    // Dropdown Menu
    function dropdownmenu(){

    echo '<select id="quizselectanswer" name="quizselectanswer" title="quizselectanswer">';

    $sql="SELECT * FROM itsnb_chronoforms_data_createquestions WHERE questionID='$questionID'";
    $result2 =mysql_query($sql);
    while ($data = mysql_fetch_array($result2)){

      echo '<option value ="' . $data['quizanswer1'] . '" >' . $data['quizanswer1'] . '</option>';
      echo '<option value ="' . $data['quizanswer2'] . '" >' . $data['quizanswer2'] . '</option>';
      echo '<option value ="' . $data['quizanswer3'] . '" >' . $data['quizanswer3'] . '</option>';
      echo '<option value ="' . $data['quizanswer4'] . '" >' . $data['quizanswer4'] . '</option>';
        }
      echo '</select>';
      }
    // Question formatting functions END //
    ?>

我遇到的问题是该功能正在创建下拉列表菜单,但由于某种原因数据没有填写,下拉菜单只是空白,如果我从代码中取出代码并运行它通常虽然它都按预期工作,但菜单中都填充了答案。

1 个答案:

答案 0 :(得分:1)

您尝试访问范围外的$questionID变量。尝试将其传递给函数,例如:

// Dropdown Menu
function dropdownmenu ( $questionID ) {
  echo '<select id="quizselectanswer" name="quizselectanswer" title="quizselectanswer">';

  $sql="SELECT * FROM itsnb_chronoforms_data_createquestions WHERE questionID='$questionID'";
  $result2 =mysql_query($sql);

  while ( $data = mysql_fetch_array( $result2 ) ) {
    echo '<option value ="' . $data['quizanswer1'] . '" >' . $data['quizanswer1'] . '</option>';
    echo '<option value ="' . $data['quizanswer2'] . '" >' . $data['quizanswer2'] . '</option>';
    echo '<option value ="' . $data['quizanswer3'] . '" >' . $data['quizanswer3'] . '</option>';
    echo '<option value ="' . $data['quizanswer4'] . '" >' . $data['quizanswer4'] . '</option>';
  }

  echo '</select>';
}

然后从第一个循环中调用该函数,如下所示:

dropdownmenu($questionID)