【发布时间】:2014-07-24 22:35:32
【问题描述】:
我正在制作一个显示我的数据库的网页。我为此使用了 2 个表。
表格'artikel'和'images'
两个表都有一个相互链接的键:A_ARTCODE 和 I_ARTCODE
两个键相同。
现在我遇到了我的密钥没有链接的问题,我看到这是因为我没有使用这个:
WHERE artikel.A_ARTCODE = images.I_ARTCODE
首先我的页面是这样的:click here
当我使用该代码时,我得到了这个:click here
如你所见,现在我的两个 ID 都是正确的。
但我在谈论我的表格,在表格“图片”中我只有 2 张图片。你现在看到的那些,但我的“artikel”表中有大约 383 件物品。
我现在的问题是,如何将它们全部显示出来?即使是没有图片的项目?
这是我的全部 php 代码:
<?php
include('connect-mysql.php');
if (!empty($_GET["page"])) {
$page = $_GET["page"];
} else {
$page=1;
};
$start_from = ($page-1) * 20;
$sqlget = "SELECT *
FROM artikel, images
WHERE artikel.A_ARTCODE = images.I_ARTCODE
LIMIT $start_from, 20
";
$sqldata = mysqli_query($dbcon, $sqlget) or die('error getting');
define('IMAGE_PATH', 'images/');
$sql = "SELECT COUNT(A_ARTCODE) FROM artikel";
$rs_result = mysqli_query($dbcon, $sql) or die ("mysqli query dies");
$row = mysqli_fetch_row($rs_result) or die ("mysqli fetch row dies");
$total_records = $row[0];
$total_pages = ceil($total_records / 20);
echo "<div class='boven'>";
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='index.php?page=".$i."'>".$i."</a> ";
};
echo "</div>";
echo "<table>";
echo "<tr><th>A_ARTCODE</th><th>A_NUMMER</th><th>A_OMSCHRN</th><th>A_REFLEV</th><th>A_WINKEL</th><th>I_ARTCODE</th><th>I_FILE</th></tr>";
while($row = mysqli_fetch_array($sqldata)){
echo "<tr><td align='right'>";
echo $row['A_ARTCODE'];
echo "</td><td align='left'>";
echo $row['A_NUMMER'];
echo "</td><td align='left'>";
echo $row['A_OMSCHRN'];
echo "</td><td align='left'>";
echo $row['A_REFLEV'];
echo "</td><td align='right'>";
echo $row['A_WINKEL'];
echo "</td><td align='right'>";
echo $row['I_ARTCODE'];
echo "</td><td align='right'>";
echo "<img src='". IMAGE_PATH . $row['I_PATH']. '/' . $row['I_ID']. '.png' ."' />";
echo "</td></tr>";
}
echo "</table>";
echo "<div class='onder'>";
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='index.php?page=".$i."'>".$i."</a> ";
};
echo "</div>";
?>
【问题讨论】:
-
你应该为此使用
LEFT JOIN-sql -
是的,非常感谢。您的解决方案非常有效。