如何用php統計最近熱門文章

來源:互聯網
上載者:User
比如我的網站希望統計出最近7天熱門的文章,就是最近7天訪問量增加最多的文章,該如何用php設計,一直想不出好的辦法,希望大家指點下。其實也就是類似discuz那種熱帖的功能

回複內容:

比如我的網站希望統計出最近7天熱門的文章,就是最近7天訪問量增加最多的文章,該如何用php設計,一直想不出好的辦法,希望大家指點下。其實也就是類似discuz那種熱帖的功能

可以使用定時功能,每X小時執行一次統計,對最近七天的文章的訪問次數、收藏、點贊、評論等進行係數計算

例如: 文章熱度=訪問次數*1+收藏*10+點贊*3+評論*5

然後結果排序將其排序儲存到資料表或則緩衝中。

資料庫設計的時候要體現出增量, 以前都是在文章表直接加個欄位表示訪問次數. 遇到這種情況要把訪問情況單獨放在一個表存放, 每次訪問都作為一條記錄

根據文章ID redis 做自增操作。頁面展示倒序排序

資料表中記錄發帖時間 :time,和瀏覽次數:views。views隨瀏覽量自增。
擷取昨天,以前前七天的時間戳記範圍。

public function last_unix($a)    {        $y = date("Y");        $m = date("m");        $d = date("d")-$a;         $start= mktime(0,0,0,$m,$d,$y);        $end= mktime(23,59,59,$m,$d,$y);                return array('start' =>$start ,'end'=>$end );    }$yesterday = $this->last_unix(1);$lastsevernday = $this->last_unix(7);$hotest=$a->where("time>'$lastsevernday' AND time<'$yesterday'")->max('views');
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.