php按文章評論數排序,zblog獲取分類文章排序按指定的時間排序、評論數量排序、瀏覽數量排序...

Zblog PHP在1.8版本的時候想要調用多個分類的文章,并且按照自己的需求去排序是很簡單的事情,很多博友也利用這個方法進行最新文章排行、熱門評論文章排行等等操作,現在隨著ZblogPHP版本的升級,已經封裝了數據庫語句,導致直接使用SQL進行查詢會被鄙視,官方的說法是這種方法會加重服務器的負載,執行效率很低。

2e7f9ff9e36d5ecfa8a3bd129159bfff.png

我之前寫過一個方法,確實很好用,對于不是很熟悉Zblog的博友來說一般看不懂。所以今天本小編直接分享一下具體的操作過程。

下面是一個封裝好的函數,復制代碼粘貼到你正在使用的主題的include.php里面:

代碼如下:function ChenDeXin_GetArticleCategorys($Rows,$CategoryID,$hassubcate){

global $zbp;

$ids = strpos($CategoryID,',') !== false ? explode(',',$CategoryID) : array($CategoryID);

$wherearray=array();

foreach ($ids as $cateid){

if (!$hassubcate) {

$wherearray[]=array('log_CateID',$cateid);

}else{

$wherearray[] = array('log_CateID', $cateid);

foreach ($zbp->categorys[$cateid]->SubCategorys as $subcate) {

$wherearray[] = array('log_CateID', $subcate->ID);

}

}

}

$where=array(

array('array',$wherearray),

array('=','log_Status','0'),

);

$order = array('log_PostTime'=>'DESC');

$articles=? ? $zbp->GetArticleList(array('*'),$where,$order,array($Rows),'');

return $articles;

}

使用方法:{foreach $array=ChenDeXin_GetArticleCategorys(10,'1,2,3',true)? as $related}

{$related.Title}

{/foreach}

使用說明:

使用方法中第一行代碼中的四個阿拉伯數字,10代表調用的文章數量,“1,2,3”代表所調用的欄目ID(多個ID之間用,號隔開即可)。

我們還可以修改函數中的“array('log_PostTime'=>'DESC');”其中:

log_PostTime=按照時間排序;

log_CommNums=按照評論數量排序;

log_ViewNums=按照瀏覽數量排序;

就這樣完全可以根據自己的需要玩出不同的花樣來!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529356.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529356.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529356.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

蟻群算法matlab vrp問題車輛限重,蟻群算法MATLAB解VRP問題

Excel exp12_3_2.xls內容:ANT_VRP函數:function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]ANT_VRP(D,Demand,Cap,iter_max,m,Alpha,Beta,Rho,Q)%% R_best 各代最佳路線%% L_best 各代最佳路線的長度%% L_ave 各代平均距離%% Shortest_Rout…

java線程6種狀態轉換,Java線程的生命周期和各種狀態轉換詳解

在Java中,任何對象都有生命周期,線程也不例外,它也有自己的生命周期。當Thread對象創建完成時,線程的生命周期便開始了,當線程任務中代碼正常執行完畢或者線程拋出一個未捕獲的異常(Exception)或者錯誤(Error)時&#…

window10怎么卸載php,window_win10怎么卸載程序?win10卸載程序教程,當win10正式版發布以后,不少 - phpStudy...

win10怎么卸載程序?win10卸載程序教程當win10正式版發布以后,不少用戶將電腦升級為Windows10系統后,不知道該如何卸載程序,本篇將為大家帶來win10卸載程序教程,希望能夠幫助到大家。win10怎么卸載程序方法一&#xff1…

matlab里dcgain,制系統的時域分析

一個動態系統的性能常用典型輸入作用下的響應來描述。響應是指零初始值條件下某種典型的輸入函數作用下對象的響應,控制系統常用的輸入函數為單位階躍函數和脈沖激勵函數(即沖激函數)。在MATLAB的控制系統工具箱中提供了求取這兩種輸入下系統響應的函數。一、時域分…

php 添加音樂,PHP網站插入音樂

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓你找對地方了,我是IT之家大神光卡蔣一欣。我把代碼發給你,直接運行即可entrance\01.gif......\........\02.gif......\........\03.jpg......\........\04.jpg......\........\05.jpg......\........\06.jpg…

在oracle數據庫中顯示異常,Oracle數據庫出現ORA-01034錯誤的解決方案

類型:數據庫類大小:42.1M語言:中文 評分:5.0標簽:立即下載使用Oracle數據庫的朋友經常會碰到的錯誤ORA-3113 "end of fileon communication channel" 就是這樣的一個,我們可以簡單的把這個錯誤理…

oracle數據庫內核,深入內核:Oracle數據庫里SELECT操作Hang解析

崔華,網名 dbsnakeOracle ACE Director,ACOUG 核心專家編輯手記:感謝崔華授權我們獨家轉載其精品文章,也歡迎大家向“Oracle”社區投稿。我們都知道在 Oracle 數據庫里是“讀不阻塞寫,寫不阻塞讀”,那么是否…

oracle 如何形成死鎖,Oracle數據表中的死鎖情況解決方法

在進行數據庫管理的過程中,經常會出現數據表被用戶的一些不合理操作而導致表被鎖定的情況,以下主要介紹如何查找哪些表被哪個用戶所鎖定,以及如何解除鎖定:1.查找被鎖定的表:select object_name,session_id,os_user_name,oracle_username,process,locked_mode,statusfrom v$loc…

php 分布式數據庫查詢,分布式數據庫 · Thinkphp5.0完全開發手冊 · 看云

# 分布式數據庫ThinkPHP內置了分布式數據庫的支持,包括主從式數據庫的讀寫分離,但是分布式數據庫必須是相同的數據庫類型。配置database.deploy 為1 可以采用分布式數據庫支持。如果采用分布式數據庫,定義數據庫配置信息的方式如下&#xff1…

matlab 電力系統動態仿真,基于Matlab的電力系統動態仿真分析

本文通過兩個簡單實例介紹了利用 !"#$"% &’(! )*, -./對電力系統進行仿真研究的方法! 包括"熱工自動調節控制系統的仿真分析和電力電器系統的仿真分析# 0 熱工調節控制系統仿真分析 對熱工調節控制系統的性能分析包括靜態特性和動態特性兩個方面# 這里主要…

oracle read by other session,AWR報告中,read by other session ,如何解決?

你看你的top sql里全是動態采樣的sql,默認10g以后optimizer_dynamic_sampling參數為level 2,一般為缺失統計信息會造成每次使用動態采樣,雖然動態采樣會在表頻繁發生大批量改變時,一般可以生成更好的執行計劃,但是也不…

oracle insert into as select,比較create table as select * 與 insert into table select *

實驗環境:SYSaaron> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - ProductionPL/SQL Release 11.2.0.1.0 - ProductionCORE …

unix 安裝oracle,linux上安裝Oracle

當前位置:我的異常網 Linux/Unix linux上安裝Oraclelinux上安裝Oraclewww.myexceptions.net 網友分享于:2013-09-03 瀏覽:26次linux下安裝Oracle1.Linux下安裝 jdk(Linux)建議從sun的主頁上下載bin文件,運行后在/usr/會建立好java目錄的Linux下相關命…

linux ftp用戶指定多個目錄,linux ftp服務器下用戶限制目錄的方法

我們使用服務器都要站在安全方面進行考慮,有必要將ftp服務下的用戶限制在適當的范圍內,那么linux ftp服務器下用戶限制目錄的方法有哪些呢?一起跟著愛站技術頻道小編的步伐來了解一下吧!linux ftp服務器下用戶只能在自己目錄下的方法:第一步…

查找空目錄Linux,Linux中find批量刪除空文件及空文件夾腳本

find . -name "*" -type f -size 0c | xargs -n 1 rm -f #linux下批量刪除空文件(大小等于0的文件)刪除指定大小的文件,只要修改對應的 -size 參數就行:find . -name "*" -type f -size 1024c | xargs -n 1 rm -f #刪除1k大小的文件…

linux關閉timewait端口,linux 如何強制關閉 time_wait 連接

匿名用戶1級2016-04-16 回答# netstat -an|awk /tcp/ {print $6}|sort|uniq -c68 CLOSE_WAIT2 CLOSING136 ESTABLISHED38 FIN_WAIT116 FIN_WAIT22 LAST_ACK8 LISTEN71 SYN_RECV2936 TIME_WAIT#狀態:描述CLOSED:無連接是活動的或正在進行LISTEN&#xff1…

memset頭文件 linux,error: ‘memset’ was not declared in this scope

http://blog.sina.com.cn/s/blog_79d599dc0100r2vz.html昨天一同事把代碼準備重新全新布置到新的環境上去的時候,代碼報錯了,先開始報錯如下:error: ‘memset’ was not declared in this scopeerror: ‘strcat’ was not declared in this s…

linux中ls文件內存大小,Linux下用ls和du命令查看文件以及文件夾大小

webdriver零碎知識點#零碎知識點,用于記錄平時遇到的比較雜的知識點 driver.current_url 獲取當前url phantomjs 實現無瀏覽器界面自動化測試(driver webdriver.Phanto ...ORACLE刪除當前用戶下所有的表的方法1.如果有刪除用戶的權限,則可以: drop user user_name cascade; 加…

linux物理內存地址與iomem,一種Linux系統物理內存鏡像文件分析方法_4

模塊信息,如圖7所示,給出了本發明的實施例中 模塊結構關系圖,modules變量指向某一個已加載模塊結構體module地址,所有已加載模 塊其module形成一個雙向鏈表,如圖7所示,據此可以獲取到所有已加載模塊。[0099…

linux設備分層優點,Linux設備驅動的分層設計思想

代碼清單8第2行獲取platform_data,而platform_data實際上是定義GPIO按鍵硬件信息的數組,第31行的for循環工具這些信息申請GPIO并初始化中斷,對于LDD6140電路板而言,這些信息如代碼清單10。代碼清單10 LDD6410開發板GPIO按鍵的plat…