我无法完全理解这个问题,所以我需要一些建议。
我有许多产品,我使用单独的表格为其分配了一些关键字。我想遍历这些关键字并生成包含相同关键字的其他产品列表...所以在下面的示例中,我有一个 ID 为 149 的产品,它分配了两个关键字,但是我的 SQL 只会使用一个关键字开发产品。
因此,我无法完全理解的是如何使用这两个关键字生成产品列表。任何帮助都会很棒。
SQL:-
$products_id = $_GET['products_id'];
$slideQuery = mysql_query("
select p.products_id, p.products_image, p.products_price,
pd.products_name, k2p.key_key_id
from products p
join products_description pd on
pd.products_id = p.products_id
join products_keyword_to_product k2p on
k2p.products_id = p.products_id
where k2p.key_key_id = (
select key_key_id
from
products_keyword_to_product
where
products_id=" . $products_id ."
)
group by p.products_id
order by p.products_price desc
limit 12
编辑添加:我之前通过使用 php while 循环并在此循环中查询数据库来实现这一点,但我相信必须有更好的方法来做到这一点。
更新:我调查了我从这个问题收到的建议,但我的查询永远无法正常工作。在这一点上,它有点超出我的“工资等级”,所以我选择创建一个链接,将相关 ID 传递到 URL 字符串中并重新加载页面,随着网站的增长,这可能会成为更好的选择. 我认为这里吸取的教训是从你想要实现的目标中退后一步,并确保你正在做的事情是实现它的最佳方式。