select * from 表 【where】 order by 置顶字段 desc|asc,最后回复时间 desc
站在用户的角度思考问题,与客户深入沟通,找到温州网站设计与温州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都网站建设、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网络空间、企业邮箱。业务覆盖温州地区。
用,好分割开来!
表示 先按照置顶 字段排列!如果置顶字段一样的值,在按照时间排列
设置置顶字段top 查最小top 再更改需要置顶的记录 $top=$top-1,然后升序读取记录
在新闻表加一个字段 比如说"ornum" int类型
抽取新闻的时候 select * form `news` order by ornum asc或desc 这样你就可以灵活控制了
数据库中专门建一个字段,如果选择置顶就为1。在置顶位置查找置顶字段,并且按照建立日期或修改日期排序,查找一条信息,就行了。
推荐方法同理,只不过多查找几条信息
如果想调整文章位置可用修改时间排序
简单,关键rsort(
$sticky
);
这行代码,他是按照$sticky数组进行排序,那么我们现在把它改为随机排序就好了。使用php
shuffle($arr);函数。
即把rsort(
$sticky
);改为shuffle($sticky);
第一步,在文章表里面建两个字段,用于做置顶功能。一个是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 ";(还记得我们添加的字段吗?)
这样就完成了文章置顶的功能。