1

と という 2 つのテーブルがstudentありsubjectます。student_subjectそれらのうちの 2 つは、 とを含むid_studentと呼ばれる多対多の関係で接続されていますid_subject。私の目標は、表の値に基づいて学生の名前と科目の名前を出力することですstudent_subject。私はこれを試しました:

$query="SELECT st.fname,su.name FROM student_subject AS ss,student as st,subject as su  WHERE ss.id_student=st.id_student and ss.id_subject=su.id_subject";

$exe=mysqli_query($con,$query);


while($res=mysqli_fetch_array($exe))
{
echo '<option value='.$res["st.fname"].'>'.$res["su.name"].'</option> <br/>';
}

このコードは、phpmyadmin で SQL クエリとして実行すると機能します。結果には、学生の名前と対応する科目が表示されます。しかし、これをphpで印刷しようとすると、何も表示されません...

4

1 に答える 1

5

データをエコーするときにテーブルに名前を付ける必要はありません。これを試して:

echo '<option value='.$res["fname"].'>'.$res["name"].'</option> <br/>';
于 2013-05-13T12:47:54.700 に答える