У меня есть 3 таблицы, и я хочу, чтобы они присоединились, чтобы я мог отображать все записи в нем в таблице HTML.SQL-запрос возвращает только 3 строки
таблицы следующим образом:
- laporan
- Doktor
- pesakit
Я использовал запрос SELECT * FROM laporan NATURAL JOIN doktor NATURAL JOIN pesakit;
соединить все таблицы.
Я ввел 5 записей в таблице laporan
, потому что это только ссылки doktor
и pesakit
как внешние ключи. Я также использовал инструмент запросов phpmyadmin для отображения записей с этим запросом.
Проблема, когда я использую этот запрос среди этих 5 записей, может отображаться только 3. В чем проблема? Не было ничего плохого в mysql_fetch_array()
в php-коде.
EDIT:
Это как кодовая таблица выглядит следующим образом:
<?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:
- идентификатор (ПК)
- doktor_nama
pesakit:
- идентификатор (ПК)
- pesakit_nama
laporan:
- ID (PK)
- laporan_tarikh
- laporan_doktor_id (FK для DOKTOR идентификационному)
- laporan_pesakit_id (FK к идентификатору pesakit в)
, не зная структуру таблиц, мы не можем вам помочь. вы прошли с «ленивым» синтаксисом соединения и просто предполагаете, что mysql может читать ваши мысли и определять, какие поля следует использовать для объединений. Очевидно, что это не работает. –
Не знаю, что не так, это может быть везде. возможно, поделитесь информацией о том, как вы показываете материал? –
@MarcB Я понятия не имею, какой вопрос следует использовать в моем случае, чтобы заставить его работать. – AimanB