我的标记系统使用两个表tags
和coupon_tags
。它的工作方式是为每个优惠券和每个标签分配一个数值。因此,优惠券可能具有ID 13
,并且标签可能具有ID 5
。 coupon_tags
每个标签为每个优惠券设置一个新行,因此它可能如下所示:
couponID | tagID
5 3
5 1
5 9
6 1
在我正在处理的代码中,couponID
已知,并表示为变量$coupID
。 我需要以下方面的帮助:所以我要做的就是找出couponID
所在的所有行,然后将所有这些tagID
拉进去数组,例如,$allTagIDs[]
,然后循环遍历该数组,并在每次迭代时,将tagID
与tagName
中的tags
相匹配(两个表都有一个tagID
字段,这是我匹配它们的方式)。这些标签也需要放入数组中。
然后输出,我只是print_r($arrOfTagNames)
。我只是不知道如何做我在PHP中写的内容。
答案 0 :(得分:3)
你实际上并不想这样做。您想要编写一个查询,该查询检索与优惠券$coupID
关联的标签的名称。
如果您在循环中运行查询,那么您可能做错了什么,并且只要您有一些重要的流量,它就会通过重载您的服务器来回过头来。
$sql = "
SELECT
tags.tagID,
tags.tagName
FROM
tags
INNER JOIN
coupon_tags
ON
coupon_tags.tagID = tags.tagID
WHERE
coupon_tags.couponID = $coupID
";
$result = mysql_query($sql);
$arrOfTagNames = array();
while ($row = mysql_fetch_array($result)) {
$arrOfTagNames[] = $row['tagName'];
}
print_r($arrOfTagNames);