关于thinkphp查询以及分页的问题
控制器里面的search方法:
public function search(){
import("@.ORG.Page");
$list = D('Blog');
$keyword = trim($this->_post('keyword','htmlspecialchars'));
$sql = "SELECT b.*, a.`content`, u.`username`
FROM blog b
LEFT JOIN blog_attribute a ON a.`blog_id`=b.`id`
LEFT JOIN user u ON u.`id`=b.`user_id`
";
if(!empty($keyword)){
$sql .= " WHERE b.`title` LIKE '%{$keyword}%' OR a.`content` LIKE '%{$keyword}%'";
}
$count = count($list->query($sql));
$Page = new Page($count,2);
$firstRow = $Page->firstRow;
$listRows = $Page->listRows;
$this->data = $list->searchBlog($sql,$firstRow,$listRows);
$xxx['data'] = $this->data;
$page = $Page->show();
$xxx['page'] = $page;
//$this->data['page'] = $page;
//$this->assign("page",$page);
//var_dump(urldecode(json_encode($this->data)));
$this->show(urldecode(json_encode($xxx)));
}
<import type="css" file="Css.rightContent" />
<import type="js" file="js.jquery_min" />
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
var keyword = $(this).parent("div").children("input").val();
$.ajax({
url: "{:U('Blog/search')}",
type: "POST",
data: {"keyword":keyword},
error:function(e){
alert("查询出错!");
},
success:function(data){
$("#cell_tb_list").empty();
if(data != ""){
data = eval('('+data+')');
//alert(data.data.length);
var layer = "<table class="has_checkbox">";
layer += "<colgroup>";
layer +="<col class="col1">";
layer +="<col class="col2">";
layer +="<col class="col3">";
layer +="<col class="col4">";
layer +="<col class="col5">";
layer += "</colgroup>";
layer += "<tbody>";
layer += "<tr class="hoverout">";
layer += "<th class="td2">发布人</th>";
layer += "<th class="td2">博客标题</th>";
layer += "<th class="td2">发布时间</th>";
layer += "<th class="td2">更新时间</th>";
layer += "<th class="td2">操作</th>";
layer += "</tr>";
for(var i=0;i<data.data.length;i++){
layer += "<tr id="testhere">";
layer += "<td>"+data.data[i].username+"</td>";
layer += "<td>"+data.data[i].title+"</td>";
layer += "<td>"+data.data[i].create_time+"</td>";
layer += "<td>"+data.data[i].update_time+"</td>";
layer += "<td>修改|删除</td>";
layer += "</tr>";
}
layer +="<tr class="hoverout" ><td colspan="6" id="td_click" style="text-align:right;">"+data.page+"</td></tr>";
layer += "</tbody>";
layer += "</table>";
//var layer = "<h1>"+data[0].create_time+"</h1>";
$("#cell_tb_list").append(layer);
}else{
alert("no");
}
}
});
});
});
</script>
<div id="stage" alt="关于thinkphp查询以及分页的有关问题" />,但是点击了后面的分页之后就出现了
我是新手,这方面不是很懂,希望大家帮忙看看怎么修改才能是分页能够正常。分页类就是使用的thinkphp原来的,稍微有点样式的小改动。
[解决办法]
是用ajax获取服务器端的数据。你点后面的分页看看返回的json数据。或者可以在后台直接调试,给几个参数,在服务器端看看数据是不是正常。