PHP数据排序的问题,如何通过二次读取出来的数据进行排序
这是我模板上的源码<!--{if$appraise_list}--><!--{loop$appraise_list$key$appraise}--><li>{=appra...
这是我模板上的源码
<!--{if $appraise_list}-->
<!--{loop $appraise_list $key $appraise}-->
<li>{=appraise_num($appraise['id'],1)}· {$appraise['name']}</li>
<!--{/loop}-->
<!--{/if}-->
这个$appraise_list是PHP页面数据读取出来的数组,是一组商家的信息
现在把他循环到网页上,是7条商家信息,然后appraise_num()这个函数是根据之前读取出来的数据里面的id,去另外一张表里面读取数据,然后和这个id相关的有多少条数据,
比如说这个商家有20条评价信息,就返回个20,
然后我想这7条商家信息根据这个评价信息的数量进行排序,请问下怎么做好,
我能想到的就是笨点的办法,在商家这个表里面新建个字段,然后每次有新的评价就把这个字段的值加1,
然后根据这个新增的字段排序,
或者有没有 办法在sql语句里面直接进行排序?
这是我读取商家信息的sql
$appraise_sql = "SELECT id,name FROM $shop_table WHERE audit = 1 AND ctid = ".$ctid." AND levelid > 0 ORDER BY orderid DESC, levelid DESC LIMIT 0 , 7";
这是读取商家评价数量的函数
function appraise_num($shopid,$grade){
global $review_table;
$appraise_sql = "SELECT id FROM $review_table WHERE shopid = $shopid and grade = $grade";
$appraise_query = mysql_query($appraise_sql);
$appraise_num = mysql_num_rows($appraise_query);
return $appraise_num;
}
求高手帮忙想想办法 展开
<!--{if $appraise_list}-->
<!--{loop $appraise_list $key $appraise}-->
<li>{=appraise_num($appraise['id'],1)}· {$appraise['name']}</li>
<!--{/loop}-->
<!--{/if}-->
这个$appraise_list是PHP页面数据读取出来的数组,是一组商家的信息
现在把他循环到网页上,是7条商家信息,然后appraise_num()这个函数是根据之前读取出来的数据里面的id,去另外一张表里面读取数据,然后和这个id相关的有多少条数据,
比如说这个商家有20条评价信息,就返回个20,
然后我想这7条商家信息根据这个评价信息的数量进行排序,请问下怎么做好,
我能想到的就是笨点的办法,在商家这个表里面新建个字段,然后每次有新的评价就把这个字段的值加1,
然后根据这个新增的字段排序,
或者有没有 办法在sql语句里面直接进行排序?
这是我读取商家信息的sql
$appraise_sql = "SELECT id,name FROM $shop_table WHERE audit = 1 AND ctid = ".$ctid." AND levelid > 0 ORDER BY orderid DESC, levelid DESC LIMIT 0 , 7";
这是读取商家评价数量的函数
function appraise_num($shopid,$grade){
global $review_table;
$appraise_sql = "SELECT id FROM $review_table WHERE shopid = $shopid and grade = $grade";
$appraise_query = mysql_query($appraise_sql);
$appraise_num = mysql_num_rows($appraise_query);
return $appraise_num;
}
求高手帮忙想想办法 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询