php文章置頂的實現

來源:互聯網
上載者:User

昨天客戶讓做文章置頂的功能。自己以前沒做過。靠著同事的指點才做了出來。本來挺簡單的事情,被自己搞了好久。自己真的缺乏對程式的理解。還是寫篇部落格記錄一下吧。


第一步,在文章表裡面建兩個欄位,用於做置頂功能。一個是top欄位,timestamp類型,預設選“定義”,用於儲存置頂操作的時間;還有一個flag欄位,int類型,用於判斷是否置頂,置頂為1,否則為0。。


第二步,模板頁面修改。列表選項裡面加置頂列,下面對應的行寫如下代碼:

    <td class="center"> {{if $logs[data].flag}} <a href="javascript:void(0);" onclick="istop('{{$logs[data].id}}',0)">取消置頂</a>{{else}} <a href="javascript:void(0);" onclick="istop('{{$logs[data].id}}',1)">置頂</a>{{/if}}</td>

就是用flag判斷是否置頂了。

頁面對應的置頂js:

function istop(id,flag){
$.ajax({
type: "POST",
url:  "?m={{'article'|encrypt}}&a=savePost",
data: "id="+id+"&flag="+flag,
dataType:"json",
success: function(msg){
if(msg.status == "true")
   {
  window.location= '?m={{'article'|encrypt}}';
   }
   else
   {
 alert(msg.message);

   }
}
}); 
}


第三步,程式裡只要稍作修改即可。先按是否置頂排序,再按置頂時間排序,再按預設的排序。

  $sql .=" ORDER BY flag DESC,top DESC,id DESC ";

(還記得我們添加的欄位嗎?)


這樣就完成了文章置頂的功能。





相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.