laravel5.1 jquery ajax 搜索分頁

控制器層代碼:IndexController.php

<?php

namespace App\Http\Controllers;

use App\User;
use App\Http\Controllers\Controller;
use Request,Input,DB,Redirect;

class IndexController extends Controller
{
    /**
     * 爲指定用戶顯示詳情
     *
     * @param  int  $id
     * @return Response
     */
    public function index()
    {
        //查詢數據 
        // $data = Db::table('email')->get();
        $page = Input::get('page');
        if(empty($page)){
            $page = "1";
        }
        //echo $page;
        //1
        $count = count(Db::table('email')->get());
        //2
        $rev = '4';
        //3
        $sums = ceil($count/$rev);
        //4
        $prev = ($page-1)>0?$page-1:1;
        $next = ($page+1)<$sums?$page+1:$sums;
        //5
        $offset = ($page-1)*$rev;
        //6
        $data = Db::select("select * from email limit $offset,$rev");
        //print_r($data);die;
        return view('index',['data'=>$data,'prev'=>$prev,'next'=>$next,'sums'=>$sums]);
    }
    public function search(){
        //接值 防亂碼
        header('content-type:text/html;charset=utf-8');
        $name = Input::get('name');
        $j_start = Input::get('j_start');
        $j_end = Input::get('j_end');

        $where = "1";
        if(!empty($name)){
            $where.=" and email_name like '%$name%'";
        }
        if(!empty($j_start)){
            $where.=" and email_time > '$j_start'";
        }
        if(!empty($j_end)){
            $where.=" and email_time < '$j_end'";
        }
        
        $page = Input::get('page');
        if(empty($page)){
            $page = "1";
        }
        //echo $page;
        //1
        //$count = count(Db::table('email')->get());
        $count = count(Db::select("select * from email where $where"));
        //2
        $rev = '4';
        //3
        $sums = ceil($count/$rev);
        //4
        $prev=$page<=1?1:$page-1;
        $next=$page>=$sums?$sums:$page+1;
        //echo $next;
        //5
        $offset = ($page-1)*$rev;
        //6
        $data = Db::select("select * from email where $where limit $offset,$rev");
        return view('search',['data'=>$data,'prev'=>$prev,'next'=>$next,'sums'=>$sums]);
        //print_r($data);die;
        //echo $where;die;
    }
    public function page(){
        //接值 防亂碼
        header('content-type:text/html;charset=utf-8');
        $name = Input::get('name');
        $j_start = Input::get('j_start');
        $j_end = Input::get('j_end');

        $where = "1";
        if(!empty($name)){
            $where.=" and email_name like '%$name%'";
        }
        if(!empty($j_start)){
            $where.=" and email_time > '$j_start'";
        }
        if(!empty($j_end)){
            $where.=" and email_time < '$j_end'";
        }
        
        $page = Input::get('page');
        //echo $page;
        //1
        if($where == "1"){
            $count = count(Db::table('email')->get());
        }else{
            $count = count(Db::select("select * from email where $where"));
        }
        
        //2
        $rev = '4';
        //3
        $sums = ceil($count/$rev);
        //4
        $prev=$page<=1?1:$page-1;
        $next=$page>=$sums?$sums:$page+1;
        //echo $next;
        //5
        $offset = ($page-1)*$rev;
        //6
        if($where == "1"){
            $data = Db::select("select * from email limit $offset,$rev");
        }else{
            $data = Db::select("select * from email where $where limit $offset,$rev");
        }
        return view('search',['data'=>$data,'prev'=>$prev,'next'=>$next,'sums'=>$sums]);
        //print_r($data);die;
    }
}

視圖層代碼:index.blade.php(分頁)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<link rel="stylesheet" type="text/css" href="date/jquery.datetimepicker.css" />
    <script type="text/javascript" src="date/jquery.js"></script>
    <script type="text/javascript" src="date/jquery.datetimepicker.js"></script>
</head>
<body>
	名稱:<input type="text" name="name"> 
	時間:<input style="width: 120px;" type="text" id="stime" name="j_start"/>
-<input style="width: 120px;" type="text" id="etime" name="j_end"/>
<input type="button" value="搜索" onclick="search()"><br />
<div id="box">
<a href="javascript:void(0)" onclick="page(1)">首頁</a>
<a href="javascript:void(0)" onclick="page(<?php echo $prev ?>)">上一頁</a>
<a href="javascript:void(0)" onclick="page(<?php echo $next ?>)">下一頁</a>
<a href="javascript:void(0)" onclick="page(<?php echo $sums ?>)">尾頁</a>
	<table border="1" id="">
		<tr>
			<td>序號</td>
			<td>名稱</td>
			<td>時間</td>
		</tr>
		@foreach($data as $val)
		<tr>
			<td>{{$val->email_id}}</td>
			<td>{{$val->email_name}}</td>
			<td>{{$val->email_time}}</td>
		</tr>
		@endforeach
	</table>
	</div>
</body>
</html>
<script type="text/javascript">
    var dr="";
    $('#stime').datetimepicker({
        value:dr,
        lang:'ch',
        format:'Y-m-d H:i',
        formatDate:'Y-m-d H:i'
    });
    $('#etime').datetimepicker({
        value:dr,
        lang:'ch',
        format:'Y-m-d H:i',
        formatDate:'Y-m-d H:i'
    });
    /*
    	
     */
    function search(){
    	var name = document.getElementsByName('name')[0].value
    	var j_start = document.getElementsByName('j_start')[0].value
    	var j_end = document.getElementsByName('j_end')[0].value
    	//alert(name)
    	$.ajax({
			type:"get",
			url:"search",
			data:{
				name:name,
				j_start:j_start,
				j_end:j_end,
			},
			success:function(msg){
				if(msg){
					$("#box").html(msg)
				}
			}
		})
    }
    /*
    
     */
    function page(page){
    	var name = document.getElementsByName('name')[0].value
    	var j_start = document.getElementsByName('j_start')[0].value
    	var j_end = document.getElementsByName('j_end')[0].value
    	//alert(page)
    	$.ajax({
			type:"get",
			url:"page",
			data:{
				page:page,
				name:name,
				j_start:j_start,
				j_end:j_end,
			},
			success:function(msg){
				//alert(msg)
				if(msg){
					$("#box").html(msg)
				}
			}
		})
    }
</script>
sexrch.blade.php(搜索)

<div id="box">
<a href="javascript:void(0)" onclick="page(1)">首頁</a>
<a href="javascript:void(0)" onclick="page(<?php echo $prev ?>)">上一頁</a>
<a href="javascript:void(0)" onclick="page(<?php echo $next ?>)">下一頁</a>
<a href="javascript:void(0)" onclick="page(<?php echo $sums ?>)">尾頁</a>
	<table border="1" id="">
		<tr>
			<td>序號</td>
			<td>名稱</td>
			<td>時間</td>
		</tr>
		@foreach($data as $val)
		<tr>
			<td>{{$val->email_id}}</td>
			<td>{{$val->email_name}}</td>
			<td>{{$val->email_time}}</td>
		</tr>
		@endforeach
	</table>
	</div>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章