您的位置:首页 > 编程语言 > PHP开发

文章标题 ThinkPHP3.2.2-搜索分页

2017-07-21 11:13 543 查看

文章标题 ThinkPHP3.2.2-搜索分页



创建控制器InfoController.class.php

<?php
namespace Home\Controller;
use Think\Controller;
class InfoController extends Controller {
public function index(){
$p=isset($_GET['p'])?$_GET['p']:1;
$username=isset($_GET['username'])?$_GET['username']:'';
$sex=isset($_GET['sex'])?$_GET['sex']:'';
$model=D('Info');
$arr=$model->getData($p,$username,$sex);

$prev=$arr['prev'];
$next=$arr['next'];
$total_page=$arr['total_page'];
$info=$arr['info'];
// print_r($info);die;
$this->assign('p',$p);
$this->assign('prev',$prev);
$this->assign('next',$next);
$this->assign('total_page',$total_page);
$this->assign('info',$info);
$this->display('info/index');
}
public function show(){
$p=isset($_GET['p'])?$_GET['p']:1;
$username=isset($_GET['username'])?$_GET['username']:'';
$sex=isset($_GET['sex'])?$_GET['sex']:'';
$model=D('Info');
$arr=$model->getData($p,$username,$sex);
$arr['p']=$p;
echo json_encode(array('data'=>$arr));
}
}


创建模型InfoModel.class.php

<?php
namespace Home\Model;
use Think\Model;
class InfoModel extends Model {
public function getData($p,$username,$sex){
$conf=' 1=1';
if(!empty($username)){
$conf.=" and username like '%$username%'";
}
if(!empty($sex)){
$conf.=" and sex='$sex'";
}

$count=$this->where($conf)->count();
$size=3;
$total_page=ceil($count/$size);
$offset=($p-1)*$size;
$prev=($p-1)<1?1:$p-1;
$next=($p+1)>$total_page?$total_page:$p+1;
$info=$this->where($conf)->limit($offset,$size)->select();
$arr=array();
$arr['prev']=$prev;
$arr['next']=$next;
$arr['total_page']=$total_page;
$arr['info']=$info;
return $arr;
}
}
?>


创建视图/View/info/index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>展示</title>
</head>
<body>
<center>
<input type="text" name="username" id="user"><input type="text" name="sex" id="sex"><button class="page">搜索</button>
<table border="1" id="box">
<tr>
<td>id</td>
<td>username</td>
<td>password</td>
<td>sex</td>
</tr>
<?php foreach($info as $k => $v){ ?>
<tr>
<td><?= $v['id'] ?></td>
<td><?= $v['username'] ?></td>
<td><?= $v['password'] ?></td>
<td><?= $v['sex'] ?></td>
</tr>
<?php } ?>
<tr>
<td>当前<?= $p ?>/<?= $total_page ?></td>
<td><a href="javascript:void(0)" class="page" data-p="1">首页</a></td>
<td><a href="javascript:void(0)" class="page" data-p="<?= $prev ?>">上一页</a></td>
<td><a href="javascript:void(0)" class="page" data-p="<?= $next ?>">下一页</a></td>
<td><a href="javascript:void(0)" class="page" data-p="<?= $total_page ?>">尾页</a></td>
</tr>
</table>
</center>
</body>
</html>
<script src="__PUBLIC__/js/jquery.1.12.min.js"></script>
<script>
$(function(){
//事件委托
$(document).on('click','.page',function(){
var obj=$(this);
var p=obj.attr('data-p');
var username=$('#user').val();
var sex=$('#sex').val();
$.ajax({
type:'get',
url:'__URL__/show',
data:{p:p,username:username,sex:sex},
dataType:'json',
success:function(res){
var hehe=res.data;
var str='<tr><td>id</td><td>username</td><td>password</td><td>sex</td></tr>';
$.each(hehe.info,function(k,v){
str+='<tr><td>'+v.id+'</td><td>'+v.username+'</td><td>'+v.password+'</td><td>'+v.sex+'</td></tr>';
});
str+='<tr><td>当前'+hehe.p+'/'+hehe.
b311
total_page+'</td><td><a href="javascript:void(0)" class="page" data-p="1">首页</a></td><td><a href="javascript:void(0)" class="page" data-p="'+hehe.prev+'">上一页</a></td><td><a href="javascript:void(0)" class="page" data-p="'+hehe.next+'">下一页</a></td><td><a href="javascript:void(0)" class="page" data-p="'+hehe.total_page+'">尾页</a></td></tr>';
$('#box').html(str);
}
})
});
})
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: