给你一个联合查询的例子
创新互联成都网站建设按需策划设计,是成都网站推广公司,为成都轻质隔墙板提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站设计热线:028-86922220
SELECT m.id as mid , m.email,count(*) as Number FROM `db_members` m , db_goods g WHERE g.uid = m.id GROUP BY mid ORDER BY Number DESC
$order=$_GET['order'];
$fs=$_GET['fs'];
if(isset($order)){
$order=$_GET['order'];
}else{
$order="id";//默认为id排序
}
if(isset($fs)){
$fs=$_GET['fs'];
}else{
$fs="asc";//默认为asc,因为asc可以省略,所以可以留空
}
修整了下
方法一,可以在查询的时候就按SORT排序。
方法二、用php数组排序函数对数据进行重新排序
希望可以帮到你
可以将多个数值放到一个数组里,用sork()函数对其进行排序,然后再用foreach输出。
不懂的话可以M我
在while循环中 将这部分:echo "a href=\"#\"".$show["name"]."(".$num.")/a ";
的输出先放到一个数组中 即:
$arr[$show["s_tid"]]["name"] = $show["name"];
$arr[$show["s_tid"]]["num"] = $num;
在while 全部结束后:
将数组按照 num 值排序【这样比在while中好处理多了】
重新循环:
foreach($arr as $key = $value){
echo "a href=\"#\"".$value["name"]."(".$value["num"].")/a "
}
【注:$show["s_tid"]不知道是否唯一,我假设是唯一的,如果不是可以将其更换为主键字段】
希望可以帮到你。
count应该是int类型的字段吧,如果你用count排序不用写where= 就写select * from tag order by count desc limit 100这个就是从大到小的前100个
select * from tag order by count asc limit 100就是从小到大的前100个