php - 按具有相似信息的 2 列分组以链接到第二个表

标签 php mysql group-by

我有两列包含类似信息:

第 1 列 = 项目 1、项目 3、项目 5 第 3 列 = 第 3 项、第 5 项、第 8 项

我想显示两列中每项的总数。

我有这个:

<小时/>
$sql = mysql_query("SELECT FirstTypeID, SecondTypeID, ThirdTypeID, DesignID, COUNT(DesignID) FROM designs WHERE Approved = '1' GROUP BY FirstTypeID, SecondTypeID, ThirdTypeID");
while ($row = mysql_fetch_array($sql)) {
    $DesignID = stripslashes($row['DesignID']);
    $FirstTypeID = stripslashes($row['FirstTypeID']);
    $SecondTypeID = stripslashes($row['SecondTypeID']);
    $ThirdTypeID = stripslashes($row['ThirdTypeID']);
    $Total = stripslashes($row['COUNT(DesignID)']);
}

$result2 = mysql_query("SELECT * FROM types WHERE TypeID = '$FirstTypeID' OR TypeID = '$SecondTypeID' OR TypeID = '$ThirdTypeID'");
while ($row2 = mysql_fetch_array($result2)) {
    echo "<li><a href='index_type.php?TypeID=".$row2{'TypeID'}."'>".$row2{'TypeName'}." (" . $Total . ")</a></li>";
}
<小时/>

但我没有得到我想要的结果,它只给了我一列的结果。

最佳答案

我不确定这是否是您所要求的,但就是这样

$typesIDs = array(type0 => "", type1 => "", type2 => ""...);

foreach($typesID as $index=>$value){
   $query = "SELECT COUNT(*) AS total FROM designs COLUMN1 = ".$index." OR COLUMN2 = ".$index;
   $sql = mysql_query($query);
   $row = mysql_fetch_array($sql);
   array[$index] => $row["total"]
}

关于php - 按具有相似信息的 2 列分组以链接到第二个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18495518/

相关文章:

MySQL 慢速分组查询

php - 如何检查mysql更新查询是否成功?

mysql - sql查询更新不同数据库中两个联合表之间的数据

php - 检查敏感数据时可以使用 PHP 中的 header 重定向吗

mysql - #1054 - 't2.id_pro' 中的未知列 'where clause'

php - mysql 在短语中搜索关键字,按找到的最多关键字排序

python-2.7 - 根据不规则的时间间隔合并 Pandas 数据帧

mysql - Group By 来查找 SQL 中表元素之间的差异?

php - 如何使用pdo从sql中删除数据?

javascript - 使用动态生成的表进行邻居计数