thinkphp のクエリとページングの問題について
コントローラーの検索メソッド:
public function search(){<br /> import("@.ORG.Page");<br /> $list = D('Blog');<br /> $keyword = trim($this->_post('keyword','htmlspecialchars'));<br /> $sql = "SELECT b.*, a.`content`, u.`username`<br /> FROM blog b<br /> LEFT JOIN blog_attribute a ON a.`blog_id`=b.`id`<br /> LEFT JOIN user u ON u.`id`=b.`user_id`<br /> ";<br /> if(!empty($keyword)){<br /> $sql .= " WHERE b.`title` LIKE '%{$keyword}%' OR a.`content` LIKE '%{$keyword}%'";<br /> }<br /> $count = count($list->query($sql));<br /> $Page = new Page($count,2);<br /> $firstRow = $Page->firstRow;<br /> $listRows = $Page->listRows;<br /> $this->data = $list->searchBlog($sql,$firstRow,$listRows);<br /> $xxx['data'] = $this->data;<br /> $page = $Page->show();<br /> $xxx['page'] = $page;<br /> //$this->data['page'] = $page;<br /> //$this->assign("page",$page);<br /> //var_dump(urldecode(json_encode($this->data)));<br /> $this->show(urldecode(json_encode($xxx)));<br /> }
<import type="css" file="Css.rightContent" /><br /> <import type="js" file="js.jquery_min" /><br> <スクリプトタイプ="text/javascript"><br> $(document).ready(function(){<br> $("ボタン").click(function(){<br> var キーワード = $(this).parent("div").children("input").val();<br> $.ajax({<br> URL: "{:U('ブログ/検索')}",<br> 入力: "POST"、<br> データ: {"キーワード":キーワード},<br> エラー:関数(e){<br> alert("クエリエラー!");<br> }、<br> 成功:関数(データ){<br> $("#cell_tb_list").empty();<br> if(データ != ""){<br> データ = eval('('+data+')');<br> //alert(data.data.length);<br> varlayer = "<table class="has_checkbox">";<br> レイヤー += "<colgroup>";<br> レイヤー += "<col class="col1">";<br> レイヤー += "<col class="col2">";<br> レイヤー += "<col class="col3">";<br> レイヤー += "<col class="col4">";<br> レイヤー += "<col class="col5">";<br> レイヤー += "</colgroup>";<br> レイヤー += "<tbody>";<br> レイヤー += "<tr class="hoverout">";<br> レイヤー += "<th class="td2">発行者</th>";<br> レイヤー += "<th class="td2">ブログタイトル</th>";<br> レイヤー += "<th class="td2">リリース時間</th>";<br> レイヤー += "<th class="td2">更新時間</th>";<br> レイヤー += "<th class="td2">オペレーション</th>";<br> レイヤー += "</tr>";<br> for(var i=0;i<data.data.length></data.data.length> レイヤー += "<tr id="testhere">";<br> レイヤー += "<td>"+data.data[i].username+"</td>";<br /> レイヤー += "<td>"+data.data[i].title+"</td>";<br /> レイヤー += "<td>"+data.data[i].create_time+"</td>";<br /> レイヤー += "<td>"+data.data[i].update_time+"</td>";<br /> レイヤー += "<td>変更|削除</td>";<br> レイヤー += "</tr>";<br> }<br> layer += "<tr class="hoverout" ><tdcolspan="6" id="td_click" style="text-align:right;">"+data.page+"</td> </tr>"; <div class="clear"></div>