PHP関数は初めてで、現在、データベーステーブルを調べてテーブルフォーマットと呼ばれる列を調べるifステートメントを作成しようとしています。このテーブルは、クイズの質問の書式設定オプションが保存される場所です。たとえば、質問の回答をドロップダウン メニューとして表示する場合は、クイズの質問を追加するときにそのオプションを選択し、それがデータベースから引き出されるときに、という形になります。
現在、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 //
?>
私が抱えている問題は、関数がドロップダウン リスト メニューを正常に作成していることですが、関数からコードを取り出して通常どおり実行すると、何らかの理由でデータが入力されず、ドロップダウン メニューが空白になることです。すべてが期待どおりに機能し、メニューに回答が表示されます。