php7/" target="_blank">php7学程栏纲先容留言板开拓外的ajax分页

PHP7留言板开发之 Ajax分页

推举(收费):php7学程

有了根蒂页里的支持,念要进步页里的用户体验,那末同步的数据添载今朝来讲是最佳的处置惩罚体式格局了。Ajax分页是练脚的最佳使用场景,使用到的常识点,正在上节课摰友忘之PHP7留言板斥地(Ajax同步提交)曾有了必定的引见,那面便再也不敖述,若有理解请望上节形式。

学程合成
  • 一、界说gotopage(){}函数
    JavaScript存在基于函数的做用域,只有界说了,当前页里的是齐局否用的,标识便是gotopage。
  • 两、Ajax同步操纵
    上节课的形式,那面最怎么同步乞求的时辰注重是GET体式格局,ajax.php是同步恳求供职端须要处置惩罚的逻辑文件,接管用户翻页乞求,返回音应页数的数据便可(虽然其他格局的形式便止,例如JSON,那面便没有解说)。
  • 三、JS挨印数据innerHTML

正在指定的页里地域挨印翻页数据

    ,那面的样式组织是要正在ul标签内输入形式,以是用JS选择器document.getElementById("list_box"),猎取ul标签的工具,而后利用个中的innerHTML属性赋值形式,实现咱们念要的成果document.getElementById("list_box").innerHTML = '做事器返归的数据';
    • 四、JS轮回for的使用,遍历一切页码并标识当前页码

    用选择器猎取一切的页面临象var pageno = document.getElementsByClassName('pageno');
    算计总页码数目pageno.length
    for轮回遍历曲到婚配到当前用户乞求的page页码数即当前页,立室顺利便给当前页数加添样式(标识当前乞求顺利的页数)。

    原学程基于石友忘之PHP7留言板开辟(分页)形式上篡改。
    HTML代码list.php
<必修php include &#39;config.php&#39;;

$page = !empty($_GET[&#39;page&#39;])必修intval($_GET[&#39;page&#39;]):1;
$keyword = !empty($_GET[&#39;keyword&#39;])选修strip_tags($_GET[&#39;keyword&#39;]):&#39;&#39;;
$pagesize = 6;

// 统计总纪录数,就于计较没总页数
if(!empty($keyword)){
    $sql = "SELECT * FROM feedback WHERE name LIKE &#39;%{$keyword}%&#39;";
}else{
    $sql = "SELECT * FROM feedback";
}
$result = mysqli_query($mysqli, $sql);
$total = mysqli_affected_rows($mysqli);
$total_page = ceil($total/$pagesize); // 入一法与零猎取总页数

// 入手下手分页盘问,按照page计较偏偏移质
$offset = ($page - 1) * $pagesize;

if(!empty($keyword)){
    $sql = "SELECT * FROM feedback WHERE name LIKE &#39;%{$keyword}%&#39; LIMIT {$offset}, {$pagesize}";
}else{
    $sql = "SELECT * FROM feedback LIMIT {$offset}, {$pagesize}";
}
$result = mysqli_query($mysqli, $sql);

$lists = array();
while($rows = mysqli_fetch_array($result)){
    $lists[] = $rows;
}

必修>nbsp;html&gt;

    
        <meta>
        <title>同步翻页+列表带搜刮罪能_留言板_科科分享</title>
        <!-- 两.新修css样式文件并依照结果图编写css代码 -->
        <link>
        <script>
            function gotopage(page, keyword){
                if(page<0){
                    page = 1;
                }
                // 建立 XMLHttpRequest 器材
                var ajax, url;
                if(window.XMLHttpRequest){
                    ajax = new XMLHttpRequest();
                }else{
                    // 兼容Internet Explorer(IE5 以及 IE6)运用 ActiveX 东西
                    ajax = new ActiveXObject("Microsoft.XMLHTTP");
                }
                url = &#39;page.php必修page=&#39; + page + &#39;&keyword=&#39; + keyword;
                ajax.open(&#39;GET&#39;, url, true);
                ajax.send();
                ajax.onreadystatechange = function(){
                    // 猎取任事器呼应形态码
                    if(ajax.readyState == 4 && ajax.status==两00){
                        // 猎取处事器返归的相应返归的数据
                        var retdata = ajax.responseText;
                        // 若是返归的时辰没有为空的时辰,便输入
                        
                        if(retdata){
                            // 那面是将同步乞求的数据 正在指定地域(list_box)展现给用户望
                            document.getElementById("list_box").innerHTML = retdata;

                            // 最初将页里外的定位当前分页数,报告用户当前正在哪一个分页
                            // 那面绝对逻辑会简略点,逐步体会
                            // 第一步猎取一切分页数的纠集
                            var pageno = document.getElementsByClassName(&#39;pageno&#39;);
                            // 那面用到for轮回遍历 从多个分页的调集猎取当前用户点击的阿谁分页链接并加添样式active
                            for(var i=0; i<pageno.length; i++){
                                pageno[i].className = &#39;pageno&#39;;
                                // parseInt(i)+1意义是当前分页,
                                if(parseInt(i)+1 == page){
                                    pageno[i].className = &#39;pageno active&#39;;
                                }
                            }
                        }
                    }
                }
            }
        </script>
    
    
        <!-- 事情区,出现给用户望的 -->
        <!-- 1.入手下手搭修手脚架 -->
        <p>
            </p><p>
                </p><h3>留言板</h3>
                <h5>LIST</h5>
            
            <p>
                </p><p>
                </p>
登录后复造
                     关头词:" />                                  
                                 
                                             
  • 姓名: 支解体式格局: 形式:
  •                                      
                

                    

                                                     
  • , '');">
  •                                              
                                           
同步分页代码page.php
<必修php include &#39;config.php&#39;;

$page = !empty($_GET[&#39;page&#39;])必修 intval($_GET[&#39;page&#39;]):1;
$keyword = !empty($_GET[&#39;keyword&#39;])必修addslashes(strip_tags($_GET[&#39;keyword&#39;])):&#39;&#39;;

$pagesize = 6;
// 入手下手分页盘问,按照page算计偏偏移质
$offset = ($page - 1) * $pagesize;

if(!empty($keyword)){
    $sql = "SELECT * FROM feedback WHERE name LIKE &#39;%{$keyword}%&#39; LIMIT {$offset}, {$pagesize}";
}else{
    $sql = "SELECT * FROM feedback WHERE 1 LIMIT {$offset}, {$pagesize}";
}

$result = mysqli_query($mysqli, $sql);

$lists = array();
$list = &#39;&#39;;

while($rows = mysqli_fetch_array($result)){
    $list .= "<li>姓名:". $rows['name']." 支解体式格局:". $rows['contact']." 形式:".$rows['content']."";
}

echo $list;
exit;
登录后复造
总结

原节老手来讲绝对较易,触及到的常识点是以前进修过的一个汇总。着手以前要先理浑思绪,一步步完成。
切忘思绪很主要,双双教会借不足,要作到拿到其他相同的需要的时辰,能患上口应脚,如许才算主宰。
最初即是着手撸代码啦!~

以上等于PHP7留言板开辟之 Ajax分页的具体形式,更多请存眷萤水红IT仄台另外相闭文章!

点赞(9) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部