2016-12-01 6 views
1

У меня есть 2 таблицы, каждый cursus имеет cursussoort, связанный с внешним ключом. Im пытается получить данные из таблицы cursussoort для отображения в цикле while. cursussoort_ID показывает id, что очевидно, но как я могу получить «naam» из таблицы cursussoort?Получить данные из другой таблицы с внешним ключом

tables

<?php 
$result = mysqli_query($con, "SELECT * FROM cursus WHERE cursussoort_ID = 1 ORDER BY begindatum ASC"); 
while ($cursus = mysqli_fetch_array($result)) { 
?> 
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
    <div class="post-preview"> 
     <h2 class="post-title"> 
     <?php echo $cursus['cursussoort_ID'];?> 
     <?php echo $cursus['begindatum'] . "<br />";?> 

     </h2> 
     <h3 class="post-subtitle"> 
     <?php echo $cursus['beschrijving'] . "<br />";?> 
     </h3> 
    </div> 
</div> 
<?php } ?> 
+1

Вы должны взглянуть на «SQL СТАЛ», который поможет вам решить эту проблему. http://www.w3schools.com/sql/sql_join.asp Если вы хотите, я могу написать инструкцию SQL для вас, если вы ее не получите. – Twinfriends

ответ

1

Вы должны JOIN в вашем SQL заявление, чтобы присоединиться данные из 2 таблиц:

SELECT c.*, cs.* FROM cursus c 
INNER JOIN cs.cursussoort ON c.cursussoort_ID = cs.ID 
WHERE c.cursussoort_ID = 1 
ORDER BY begindatum ASC 

Затем вы можете отобразить его в HTML:

<?php 
$result = mysqli_query($con, "SELECT c.*, cs.* FROM cursus c INNER JOIN cs.cursussoort ON c.cursussoort_ID = cs.ID WHERE c.cursussoort_ID = 1 ORDER BY begindatum ASC"); 
while ($cursus = mysqli_fetch_array($result)) { 
?> 
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
    <div class="post-preview"> 
     <h2 class="post-title"> 
     <?php echo $cursus['cursussoort_ID']; ?> 
     <?php echo $cursus['naam']; ?><br /> 
     <?php echo $cursus['begindatum']; ?><br /> 
     </h2> 
     <h3 class="post-subtitle"> 
     <?php echo $cursus['beschrijving']; ?><br /> 
     </h3> 
    </div> 
</div> 
<?php } ?> 
1

Выполнить JOIN между таблицами, такими как

SELECT c.* 
FROM cursus c 
JOIN cursussoort cr ON c.ID = cr.cursussoort_ID 
WHERE c.cursussoort_ID = 1 
ORDER BY c.begindatum 
1

Попробуйте Left Outer Регистрация

Основной запрос будет

`SELECT * FROM cursus c LEFT OUTER JOIN cursussoort cr ON (c.cursussoort_ID = cr.id) WHERE cursussoort_ID = 1 ORDER BY c.begindatum ASC`