本文实例讲述了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 bjrongjinhuiyin('{{$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 "
;
|