我有3个表,我希望它加入,所以我可以显示它在HTML表中的所有记录。SQL查询只返回3行
的表如下所示:
- laporan
- DOKTOR
- pesakit
我使用的查询SELECT * FROM laporan NATURAL JOIN doktor NATURAL JOIN pesakit;
加入所有表。
我在laporan
表中输入5条记录,因为它只是指doktor
和pesakit
为外键。我也用phpmyadmin查询工具来显示这个查询的记录。
问题是,当我使用该查询时,在这5条记录中,只能显示3条记录。有什么问题?在php代码中,mysql_fetch_array()
没有任何问题。
编辑:
这是表的代码看起来像:
<?php
$result = mysql_query("SELECT * FROM laporan NATURAL JOIN doktor NATURAL JOIN pesakit;");
$i = 1;
while($row = mysql_fetch_array($result)){
echo "<tr>";
echo "<td>" . $i++ . "</td>";
echo "<td>" . $row['doktor_nama'] . "</td>";
echo "<td>" . $row['pesakit_nama'] . "</td>";
echo "<td>" . $row['laporan_tarikh'] . "</td>";
echo "</tr>";
}
echo "</tbody>
</table>";
?>
数据库结构如下:
DOKTOR:
- ID( PK)
- doktor_nama
pesakit:
- ID(PK)
- pesakit_nama
laporan:
- ID(PK)
- laporan_tarikh
- laporan_doktor_id(FK到DOKTOR的id)
- laporan_pesakit_id(FK到pesakit的id)
不知道你的表的结构,我们不能帮你。你已经使用了“懒惰”的连接语法,并且简单地假设mysql可以读懂你的想法并找出哪些字段应该用于连接。显然它不工作。 – 2013-02-11 14:35:48
不知道什么是错的,它可能到处都是。也许分享一些关于你如何展示这些东西的内部信息? – 2013-02-11 14:36:28
@MarcB我不知道应该在我的例子中使用哪个查询来使其工作。 – AimanB 2013-02-11 14:57:04