我有一張有數千條新聞報道的表格。在網站上,有一個新聞列表頁面,可以通過無限滾動按受歡迎度對文章進行排序。表看起來是這樣的:如何按人氣排序文章?
id | title | description | views | createdAt
確定受歡迎程度的關鍵列是views和createdAt。
什麼算法/公式可以實現按受歡迎程度排序文章?
目前,我只是按降序對視圖進行排序,但這樣,列表幾乎不會更新,並且始終顯示相同的文章。
我有一張有數千條新聞報道的表格。在網站上,有一個新聞列表頁面,可以通過無限滾動按受歡迎度對文章進行排序。表看起來是這樣的:如何按人氣排序文章?
id | title | description | views | createdAt
確定受歡迎程度的關鍵列是views和createdAt。
什麼算法/公式可以實現按受歡迎程度排序文章?
目前,我只是按降序對視圖進行排序,但這樣,列表幾乎不會更新,並且始終顯示相同的文章。
簡單做它,希望它會工作:
order by views,createdAt
你可以有一個更列說'lastView'
想法是打印最新的熱門項目不只是流行。
在您的查詢中,您可以給出條件: select * from where where created> ='recentDate1'and lastView> ='recentDate2'order by view desc;根據你的需要。
在每一次刷新,你可以通過jQuery來改變最近的日期,這將給你有限數量的結果。你甚至可以減少無限循環/結果。
我認爲這是SO的主題。也許超級用戶會更合適? – Strawberry
有多種選擇:1st - 添加http://tablesorter.com/docs/ os類似的東西,並在前端排序表。第2步 - 將「查詢」參數添加到標題中,例如「?createdAt = desc」鏈接,讀取該參數並將其添加到您的SQL調用中,如@WaleedAhmed所述 – Peon