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