私はこのような3つのテーブルを持っています:
表1:
id|name with row 1: [1|alex] and row2: [2|jane]
表2
nameid|classid with row 1: [1|2] and row2: [1|1] and row3: [2|2]
表3
classid|classname with row 1: [1|A] and row2: [2|B]
表1のIDを取得し、それを表2と比較してクラスIDを取得し、次にそれらを表3と比較してクラス名を取得します。私は表1のIDを持っており、これを行います。
<?php
$result = mysql_query("SELECT * FROM table2 WHERE nameid='$id'") or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$classid = $row['classid'];
//Get the class id to compare with table3
$result = mysql_query("SELECT * FROM table3 WHERE classid='$classid'") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo $row['classname'];
//Write down the class name
}
}
?>
ただし、表2には、同じである2つの行(1と2)nameid = 1
がありますが、コードは1つのクラス名しか出力しません。