【发布时间】:2013-05-21 05:50:59
【问题描述】:
我在尝试在 while 循环中获取嵌套
- 时遇到问题。我不确定这是否可能,所以我愿意接受替代方案。
Here's a quick image of what my database looks like and what i'm trying to achieve.
这是我的 sql
SELECT *
FROM drinks_category, drinks_lookup, drinks
WHERE drinks.drink_id = drinks_lookup.drink_id
AND drinks_lookup.drinks_category_id = drinks_category.drinks_category_id
ORDER BY drinks_category.drinks_category_title
这是我的输出 php
$result = $conn->query($sql) or die(mysqli_error());
$last_category = 0;
while ($row = $result->fetch_assoc()) {
if($row['drinks_category_id'] != $last_category) {
echo "<h1>" . $row['drinks_category_title'] . "</h1>";
}
echo "<p>" . $row['drink_name'] . "</p>";
$last_category = $row['drinks_category_id'];
}
我正在使用 mysqli 和 php。提前致谢!
【问题讨论】:
-
你真的需要查找表(category_id 可以很容易地存储在饮料表中)吗?我个人会通过 2 个查询来解决这个问题,一个针对类别,一个针对饮料本身(我不知道这种情况下的最佳做法)
-
一种饮料可以有多个类别吗?如果不能,则不需要联结表(将饮料链接到类别的表)。
-
有些饮料确实属于多个类别。感谢您的建议!