2016-12-01 9 views
1

私は2つのテーブルを持っています。すべてのcursusには、外部キーに接続されたcursussoortがあります。 私はwhileループで表示するためにcursussoortテーブルからデータを取得しようとしています。 cursussoort_IDは明らかなIDを示していますが、cursussoortテーブルから 'naam'を取得するにはどうすればよいですか?外部キーで他のテーブルからデータを取得

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 JOINS」。 http://www.w3schools.com/sql/sql_join.aspご希望の場合は、取得していない場合はSQL文を記述することができます。 – Twinfriends

答えて

1

あなたは2つのテーブルからデータを結合するSQL文ではJOIN必要があります。

<?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

実行:あなたはHTMLでそれを表示することができます次に

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 

テーブル間の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

メインクエリは

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