【问题标题】:Getting MySQL values into an array from two different tables?将 MySQL 值从两个不同的表中放入一个数组中?
【发布时间】:2011-06-28 18:48:35
【问题描述】:

我的标记系统使用两个表,tagscoupon_tags。它的工作方式是为每个优惠券和每个标签分配一个数值。例如,优惠券的 ID 可能为 13,而标签的 ID 可能为 5coupon_tags 为每个标签的每个优惠券创建一个新行,所以它可能看起来像这样:

couponID | tagID
    5        3
    5        1
    5        9
    6        1

在我正在处理的代码中,couponID 是已知的,并表示为变量 $coupID我需要以下方面的帮助: 所以我要做的是找出couponID 所在的所有行,并将所有这些tagID 拉到一个数组中,例如,$allTagIDs[],然后循环遍历该数组,并在每次迭代时,将tagID 与下一个名为tags 的表中的tagName 匹配(两个表都有一个tagID 字段,这就是我匹配它们的方式向上)。这些标签也需要放入数组中。

那么对于输出,我只需print_r($arrOfTagNames)。我只是不知道如何执行我在 PHP 中编写的内容。

【问题讨论】:

    标签: php sql mysql arrays tags


    【解决方案1】:

    您实际上并不想这样做。您想编写一个查询来检索与优惠券$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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 2011-10-10
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多