代码 ajax分页

本文介绍了一种使用PHP实现的新闻列表分页显示方法。该方法通过接收前端传来的查询参数,包括新闻关键词、开始时间和结束时间,进行数据库查询,并实现了分页功能。通过调整SQL查询语句来过滤数据,并利用计数和限制来实现分页。
[php]  view plain  copy
  1. 后台:  
  2. <pre name="code" class="php">function check(Request $request)  
  3. {  
  4.     $news = $request->input('news');  
  5.     $begin=$request->input('begin');  
  6.     $end = $request->input('end');  
  7.     $where = "1";  
  8.     if(!empty($news)){  
  9.         $where.=" and news like '%$news%'";  
  10.     }  
  11.     if(!empty($begin)){  
  12.         $where.=" and time > '$begin'";  
  13.     }  
  14.     if(!empty($end)){  
  15.         $where.=" and time < '$end'";  
  16.     }  
  17.     //echo $where;  
  18.     $count = count(Db::select("select * from news  where $where"));  
  19.   
  20.     $n=3;  
  21.     $pages=ceil($count/$n);  
  22.   
  23.     //echo $pages;die;  
  24.   
  25.     $page=isset($_GET['page'])?$_GET['page']:1;  
  26.   
  27.     $up=$page<=1?$page:$page-1;  
  28.   
  29.     $down=$page>=$pages?$pages:$page+1;  
  30.   
  31.     $state=($page-1)*$n;  
  32.   
  33.     $arr=Db::select("select * from news where $where limit $state,$n");  
  34.     //print_r($arr);die;  
  35.   
  36.     $arr['arr']=$arr;  
  37.     $arr['up']=$up;  
  38.     $arr['down']=$down;  
  39.     $arr['pages']=$pages;  
  40.     $arr['page']=$page;  
  41.     $arr['begin']=$begin;  
  42.   
  43.   
  44.   
  45.     return view('index',[  
  46.         'arr'=>$arr  
  47.     ]);  
  48. }  

前台:

<a href="javascript:void(0)" onclick="display(1)">首页</a>
<a href="javascript:void(0)" onclick="display({{$arr['up']}})">上一页</a>
<a href="javascript:void(0)" onclick="display({{$arr['down']}})">下一页</a>
<a href="javascript:void(0)" onclick="display({{$arr['pages']}})">末页</a>




<script> function display(page) { var news=document.getElementById('news').value; var begin=document.getElementById('begin').value; var end=document.getElementById('end').value; var xhr = new XMLHttpRequest(); xhr.open('get','check?page='+page+"&news="+news+"&begin="+begin+"&end="+end) xhr.send(null); xhr.onreadystatechange=function() { if(xhr.readyState==4 && xhr.status==200) { document.getElementById('div1').innerHTML=xhr.responseText; } } }</script>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值