Heim  >  Artikel  >  php教程  >  Xiaobais kurze Einführung in die Verwendung von Laypage-Paging

Xiaobais kurze Einführung in die Verwendung von Laypage-Paging

WBOY
WBOYOriginal
2016-08-04 08:56:241247Durchsuche

Ich bin ein Neuling, daher habe ich das integrierte Paging verwendet. Später hat es sich gut angefühlt, also habe ich empfohlen, dass Paging im Allgemeinen GET verwendet, um einen Wert zu übergeben Suche, Sie müssen den Suchwert zur URL hinzufügen, sonst klicken Sie auf die nächste Seite und die Suchbedingungen werden gelöscht. Dies ist Ihr erster Beitrag (Sie können mir gerne einige Verbesserungsvorschläge machen). Vor allem für diejenigen, die als Anfänger Schwierigkeiten haben. Schauen Sie sich das an (ermutigen Sie sich gegenseitig).
//这里是前端页面需要引入的文件,去 http://laypage.layui.com/ 官网下载放在项目下即可(我将文件放在了Public下,然后再调用出来),<script src="/Public/laypage/laypage.js"></script>//好像很实用的样子,后端的同学再也不用写分页逻辑了。这里只要复制进来就可以了。不用改<b><script></b><br> <b>laypage({<br>     cont: 'page11',<br>     pages: 18,</b> //假设我们获取到的是18(后端计算完总页数后将总页数值传过来,放在这里即可(类似{$totalpage})).<br>  <b>curr: function(){ </b>//通过url获取当前页,也可以同上(pages)方式获取<br> <b> var page = location.search.match(/page=(\d+)/);<br>         return page ? page[1] : 1;//如果没有页数显示时,默认是第一页<br>     }(), </b><br>    <b> jump: function(e, first){ </b>//触发分页后的回调<br>        <b> if(!first){</b> //一定要加此判断,否则初始时会无限刷新<br> <b>            location.href=setParam("page",e.curr);<br>         }<br>     }<br> });</b>//设置url中连接符(为什么要加这段呢?因为我们要带搜索条件时,一般的URL要带"?","&",这两个符号,这里就是为了,在追加页码时,当有了“?”符号时,会换成“&”,没有时则是“?”加page=页数,以下也是直接复制进去就可以了。)<b>function setParam(param,value){<br>     var query = location.search.substring(1);<br>     var p = new RegExp("(^|)" + param + "=([^&]*)(|$)");<br>     if(p.test(query)){<br>         //query = query.replace(p,"$1="+value);<br>         var firstParam=query.split(param)[0];<br>         var secondParam=query.split(param)[1];<br>         if(secondParam.indexOf("&")>-1){<br>             var lastPraam=secondParam.split("&")[1];<br>             return  '?'+firstParam+'&'+param+'='+value+'&'+lastPraam;<br>         }else{<br>             if(firstParam){<br>                 return '?'+firstParam+''+param+'='+value;<br>             }else{<br>                 return '?'+param+'='+value;<br>             }<br>         }<br>     }else{<br>         if(query == ''){<br>             return '?'+param+'='+value;<br>         }else{<br>             return '?'+query+'&'+param+'='+value;<br>         }<br>     }    <br> }<br> </script></b>//最后在你显示数据(例如后)最后添加下面这个<b><div style="margin-top:15px; text-align:center;" id="page11"></div></b>//Die obige ID wird von Ihnen selbst festgelegt. Beachten Sie bitte die vorherige Fortsetzung: „Seite 11“, die hier ebenfalls geändert werden muss. Die Vorbereitungen für das Frontend sind nun abgeschlossen.
Wenn die Suchbegriffe auch eine URL-Adresse enthalten müssen, habe ich Folgendes geschrieben
//Zum Suchen klicken<b>$("#sou").bind("click",function(event){<code class="prettyprint linenums lang-php"><b>$("#sou").bind("click",function(event){<br>     event.preventDefault();</b>//这里不懂的可以自己查查(用于取消事件的默认行为 一般是有<from>时,没有就直接去掉)。<br>     <b>var type=$("#type").val();</b>//获取假设的搜索条件值<br>     <b>var url=$(this).attr("souid");</b>//这里的是获取点击是要跳转的地址(例如:souid="<*:U(&#039;Custom/customorder&#039;)*>" 跳转地址自己换)<br> <b>    window.location.href=url "?typeid=" type;<br> });</b> Event.preventDefault();
//Wenn Sie das hier nicht verstehen, können Sie es selbst überprüfen (das Standardverhalten beim Abbrechen von Ereignissen ist normalerweise, wenn vorhanden ist, wenn nicht, entfernen Sie es einfach direkt).
var type=$("#type").val();<b>public function text(){</b><br> //下面是获取GET传来的页数,如果没有页数时,页数为1.<br> <b>$nowpage=I('page',1);</b><br> //$totalpage就是计算你要获取的最大页数,ceil 是向前取整,这里是设置为10条数据为1页(注意括号)。<br> <b>$totalpage=ceil((M('order')->where(条件)<br>                 ->count())/10);</b>//这里尽量简写了。<br> //下面注意加上 这句 limit(($nowpage-1)*10,10),就是数据控制每页显示数据的条数,获取页数后乘以设置的条数,获取该页的10条(自己设置)数据<br> <b>$res=M('order')->where(条件)<br>                 ->limit(($nowpage-1)*10,10)<br>                 ->select();</b><br> //最后,就是把数据和最大页数传到前端接受了完成了。(搜索条件的也要的话也要传。)<br> <b>    $this->assign("totalpage",$totalpage);<br>         $this->assign("res",$res);</b><br> <b>}</b>//Den hypothetischen Suchbedingungswert abrufen

var url=$(this).attr("souid"); window.location.href=url "?typeid=" type;

});

(Neulinge können nur so schreiben, sorry, grundlegende JQ sollten trotzdem verständlich sein!) zwei. Jetzt kommt der Backend-Teil<b>public function text(){ // Im Folgenden wird die von GET gesendete Seitenzahl abgerufen. Wenn keine Seitenzahl vorhanden ist, ist die Seitenzahl 1. <b>$nowpage=I('page',1); //$totalpage dient zur Berechnung der maximalen Anzahl von Seiten, die Sie erhalten möchten. Ceil wird nach vorne gerundet. Hier werden 10 Daten als 1 Seite festgelegt (beachten Sie die Klammern). <b>$totalpage=ceil((M('order')->where(condition) ->count())/10);//Dies ist so gekürzt wie möglich. //Bitte fügen Sie unten den Satz limit(($nowpage-1)*10,10) hinzu, was bedeutet, dass die Daten die Anzahl der auf jeder Seite angezeigten Daten steuern. Nachdem Sie die Anzahl der Seiten erhalten haben, multiplizieren Sie sie mit der festgelegten Anzahl von Elemente, um 10 Elemente auf der Seite zu erhalten. (Von Ihnen selbst festgelegt) Daten <b>$res=M('order')->where(condition) ->limit(($nowpage-1)*10,10) ->select(); //Abschließend werden die Daten und die maximale Seitenanzahl an das Frontend übergeben und akzeptiert. (Bei Bedarf müssen auch Suchbedingungen mitgesendet werden.) <b> $this->assign("totalpage",$totalpage);           $this->assign("res",$res); <b>} </b></b></b></b></b></b>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn