我有两张桌子,每个cursus都有一个用外键连接的cursussoort。 我试图从cursussoort表中获取数据以显示在while循环中。 cursussoort_ID显示的ID很明显,但我如何得到“naam'有没有cursussoort表?
<?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 } ?>
答案 0 :(得分:1)
您应该在SQL语句中JOIN
加入来自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 :(得分: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
答案 2 :(得分: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`