本文实例讲述了php实现文章置顶功能的方法。分享给大家供大家参考,具体如下:
昨天客户让做文章置顶的功能。自己以前没做过。靠着同事的指点才做了出来。本来挺简单的事情,被自己搞了好久。自己真的缺乏对程序的理解。还是写篇博客记录一下吧。
第一步,在文章表里面建两个字段,用于做置顶功能。一个是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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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); } } }); } |
第三步,程序里只要稍作修改即可。先按是否置顶排序,再按置顶时间排序,再按默认的排序。
1
|
$sql .= " ORDER BY flag DESC,top DESC,id DESC " ; |
(还记得我们添加的字段吗?)
这样就完成了文章置顶的功能。
希望本文所述对大家PHP程序设计有所帮助。