我是 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 //
?>
我遇到的问题是,如果我从函数中取出代码并运行它,该函数可以很好地创建下拉列表菜单,但是由于某种原因数据没有被填充并且下拉菜单只是空白通常情况下,一切都按预期工作,并且菜单中填满了答案。
最佳答案
您正在尝试访问超出范围的 $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)
关于php - 函数内部的数据库查询未发布到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13648177/