我正在运行查询以查找产品的数量是否大于 0 以及其日期是否满足某个参数。这些结果通过一个while循环运行以在页面上列出。我遇到的问题是,由于我的参数,它从每个表中选择了两次相同的 ID……这导致项目显示两次。我当然不想要那个。
这是我的查询。
SELECT *
FROM `trade_show_inventory`
LEFT JOIN `trade_show_reserved`
ON `trade_show_inventory`.`ID` = `trade_show_reserved`.`ProductID`
WHERE `trade_show_inventory`.`Quantity` > 0
OR `trade_show_reserved`.`DateReserved` + INTERVAL 5 DAY <= '2013-03-31'
ORDER BY `trade_show_inventory`.`ProductName`
如果我让数量为 1 和 1 的用户签出两次相同的产品,我的查询结果如下图所示。查看 ID 6,您将看到结果。我希望结果是,我希望能够从 DateReserved 查询所有日期,同时检查大于 0 的数量......同时不要两次显示相同的产品。DateReserved 来自不同的表,而不是图片中突出显示的 ID。我将如何实现这个结果?我需要在我的while循环中做些什么吗?任何想法将不胜感激。
这是我的while循环。
while ($results = mysqli_fetch_assoc($query)) {
echo $results['ProductName'];
echo
"<li>
<img style='width: 200px; height: 200px' src='images/inventory/" . $results['Image'] . "'/>" .
"<div class='infoContainer'>" .
"<a class='productLink' href='/ts/selectItems.php?status=active&id=" . $results['ID'] . "'>" . $results['ProductName'] . "</a>" .
"<br />" .
"<i>Currently Available </i>" .
"<i class='quantity'>" . $results['Quantity'] . "</i>" .
"</div>" .
"</li>";
}