[英]Getting MySQL values into an array from two different tables?
我的标记系统使用两个表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
与下一个称为tags
表中的tagName
匹配(两个表都有一个tagID
字段,这就是我将它们匹配的方式)。 这些标签也需要放入数组中。
然后,为了输出,我将只用print_r($arrOfTagNames)
。 我只是不知道该怎么做我在PHP中写的内容。
您实际上并不想这样做。 您要编写一个查询,以检索与优惠券$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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.