想做個根據(jù)(評論平均評分、點贊量、評論量、瀏覽量、收藏量)綜合排序,但是沒有效果,order=avgsort,support,hits,comments,favorites 現(xiàn)在是誰在第一個就按誰排序,沒有按順序排序,想問一下,怎么才能讓order中的排序字段都生效!讓這些排序數(shù)量最大的顯示到最前面
<ul>
{module module=brand catid=9 num=10 order=avgsort,support,hits,comments,favorites}
<li><a href="{$t.url}" title="{$t.title}" target="_blank">{$t.title}</a><span>{$t['support']+$t['hits']+$t['favorites']+$t['comments']+$t['avgsort']}</span></li>
{/module}
</ul>
官方提醒:使用module內(nèi)容循環(huán)標簽的生成工具,填寫參數(shù)就可以生成相關(guān)的代碼,每個參數(shù)后面都有用法解釋
回復(fù)@小波工作室 明白了,MySQL的order by排序還是得按照第一個字段的值來順序排序,那怎么才能比較(評論平均評分、點贊量、評論量、瀏覽量、收藏量)這些數(shù)據(jù)的數(shù)據(jù)和來排序呢?對mysql不太熟,怎么實現(xiàn)這個調(diào)用呢?
回復(fù)@小波工作室
sql 是怎么寫對吧?怎么才能結(jié)合{module}顯示出來呢?
回復(fù)@小波工作室 按照文檔照貓畫虎寫出來了,我的語法沒問題吧!還能更簡化嗎?
<ul> {php $data=dr_linkage('industry', $t.id);} <?php $query=urlencode('SELECT * FROM `dr_1_brand` WHERE `dr_1_brand`.`catid` = 9 AND (`dr_1_brand`.`industry` IN ('.$data.childids.')) ORDER BY (support + avgsort + hits + comments + favorites) DESC LIMIT 10;');?> {sql sql='$query'} <li><a href="{$t.url}" title="{$t.title}" target="_blank">{$t.title}</a><span>{$t['support']+$t['hits']+$t['favorites']+$t['comments']+$t['avgsort']}</span></li> {/sql} {$debug} </ul>