首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计数具有相同名称、显示名称和编号的变量

计数具有相同名称、显示名称和编号的变量
EN

Stack Overflow用户
提问于 2012-06-19 02:17:03
回答 5查看 1.2K关注 0票数 0

我有下一个mysql查询:

代码语言:javascript
复制
    $productn = $jdb->query('SELECT t2.title FROM '.DB_PREFIX.'shopping_cart AS t1 LEFT JOIN '.DB_PREFIX.'shop_order_details AS t2 ON t1.shopid WHERE t1.session = "'.smartsql($_SESSION['shopping_cart']).'"');

while ($rowp = $productn->fetch_assoc()) {
// my product title
 $productname = $rowp["title"];
}

使用print_r($productname);我得到了类似于:

Name1Name1Name1Name2Name2

我想要显示如下内容:

3个Name1 2个Name2

3个Name1、2个Name2

有可能做到这一点吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-19 17:39:43

好了,我终于能够做出我想要的东西了,所以我想在这里分享它,以备将来使用。

这就是我所做的:

代码语言:javascript
复制
$productn = $jdb->query('SELECT t2.title, count(t2.title) num FROM '.DB_PREFIX.'shop_order_details AS t2 WHERE t2.orderid ="'.$orderid.'" GROUP BY t2.title');

while($registro=$productn->fetch_array()){
 echo $registro['title'].' x '.$registro['num']."<br>";
}

我在我的类中定义了fetch_array():

代码语言:javascript
复制
    function fetch_assoc() {
    if($this->result) {
        return mysql_fetch_assoc($this->result);
    } else {
        return false;
    }
}

感谢大家的帮助。我给每个人都加了分!

票数 1
EN

Stack Overflow用户

发布于 2012-06-19 02:20:57

SQL查询应该是这样的:

代码语言:javascript
复制
select name,count(name) from table group by name ;

希望这对你有帮助。

票数 5
EN

Stack Overflow用户

发布于 2012-06-19 02:22:19

您可能希望按标题分组,并计算每个分组出现的次数。

代码语言:javascript
复制
SELECT t2.title, COUNT(t2.title)
FROM shopping_cart AS t1
LEFT JOIN shop_order_details AS t2 ON t1.shopid
WHERE t1.session = <session>
GROUP BY t2.title

请看一下COUNT(*)GROUP BY函数参考。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11088665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档