PHP怎么筛选数据库中某个字段的不同内容,然后把他们while循环出来,并不显示重复的。

问题说明的比较含糊,我不知道该怎么用文字表达,下面我附上图文,希望众神们能指点一下思路,或者附上源码予我参考。MySQL表名"addon"包含两个字段id和dlc如图1;... 问题说明的比较含糊,我不知道该怎么用文字表达,下面我附上图文,希望众神们能指点一下思路,或者附上源码予我参考。MySQL表名"addon" 包含两个字段 id 和dlc 如图1;内容包含3个A ,1个B ,1个C ,1个D,2个E。前台我想显示的效果是 只循环出 一个ABCDE各一个,每个字母后面都附带一个 表中包含它的数量,例如:A3;B1;C1;D1;E2我不想单独做一个类别的表,因为不适合我网站的情况,希望大家能按照我的想法赐教。万分感谢!好人一生平安。 展开
 我来答
一只小花猫吖
2016-06-08 · 超过24用户采纳过TA的回答
知道答主
回答量:55
采纳率:100%
帮助的人:18.8万
展开全部
SELECT id,count(*) AS num,name FROM tableb GROUP BY name;

测试数据列表;

sql执行结果

更多追问追答
追问
$sql = "select id,count(*) as num,dlc from chesi group by dlc;"; 
$query = mysql_query($sql,$conn);
while($row = mysql_fetch_array($query)){

echo $row['dlc']."";
}
我用您的方法成功的输出了ABCDE,但是数量要用怎么显示出来
追答
num这个就是数量啊
尤里2号
2016-06-08 · 超过18用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:21.6万
展开全部
很简单哦肯定一说就懂。
你想统计dlc的数目。
假设你那个表已经已数组形式存在于php的数组arr1,如'1'=>A,'2'=>A.......

新建一个数组arr2

foreach($arr1 as $key=>$val){
$arr2[$val]=isset($arr2[$val])?$arr2[$val]+1:0;
}

打印arr2试试吧。
更多追问追答
追问
谢谢您,不过我还是不懂,请问您能帮我写一个
while循环的么,

循环出ABCDE后面带数量 要怎么把多余的两个A和一个E去掉 并且显示出数量
A 3个
B 1个
C 1个
D 1个
E 2个
追答
//while循环只适用于索引数组,不适用于关联数组。

$val){
$arr2[$val]=isset($arr2[$val])?$arr2[$val]+1:1;
}
foreach($arr2 as $key=>$val){
echo $key.' '.$val."个";
}
?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式