聯系官方銷售客服
1835022288
028-61286886
讓模塊數據按指定字段數值的大小排序,如何排除字段數值為空或者為0的數據呢?
http://www.zbshanke.com/doc/1214.html
我用文檔里面的方法成功實現了,但是他也會顯示數值為空的數據,導致從小到大的排序毫無意義。
請問怎么排除為空或者為0的數據,按有數值的數據從小到大來排序?
以下是我現在的代碼
<a href="{Router::search_url($params, 'order', 'y2023_asc')}" class="mr20 fll tab posr {if $params.order=='y2023_asc'}on{/if}">排行榜</a>
{search module=MOD_DIR id=$searchid total=$sototal order=$params.order catid=$catid page=1 pagesize=16 urlrule=$urlrule}
具體內容
{/search}
回復@外聘專員-北京老祈 有具體的實現方法嗎?我現在新增了個數字字段,$shuzi,想根據他篩選按從小到大的方式來排列,并排除空值數據,請問具體要怎么實現呢。
回復@小魚兒 請問我這個where的條件要怎么寫?
字段是yymc2022,排除0或空的數據
我試了幾次寫的都是報錯的結果
你說的是這個自定義代碼對吧
{php $where=urlencode("自定義sql條件");}
{module catid=$catid order=yymc2022_asc where=$where}
{/module}
回復@右手老繭 恩,就是{php $where=urlencode("yymc2022!=0");}
回復@小魚兒 如果你只有這個判斷,可以用module標簽的 NOT_yymc2022=0,用where是為了方便你拼接其他搜索條件
回復@小魚兒 太感謝了,已經實現了。但是現在有一個問題,他好像只按首位數字來排序,不是按照完整數據來排序,請問要怎么做?比如有數據:1、11、12、3、4
按正常得是:1、3、4這樣排序,但是他就是1、11、12、3、4排序,他只按照首位得數字大小來進行排序
回復@右手老繭 因為你的字段是字符串,不是數字,去數據庫把字段類型改成int試試,或者刪了重新建一下這段,選數字類型,記得先備份在修改
回復@小魚兒 好得,非常感謝!!