php - 如何在分页中给出上一个和下一个按钮?

标签 php jquery mysql ajax pagination

我想在分页中使用 1 到 10 页码显示,我想要上一个和下一个按钮

这是我的代码

<?php
session_start();
?>
<?php
include('conn.php');

$per_page = 15; 
$select_table = "select * from clientreg";
$variable = mysql_query($select_table);
$count = mysql_num_rows($variable);
$pages = ceil($count/$per_page)

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Qjuery pagination with loading effect using PHP and MySql</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
    function Display_Load()
    {
        $("#load").fadeIn(1000,0);
        $("#load").html("<img src='load.gif' />");
    }
    function Hide_Load()
    {
        $("#load").fadeOut('slow');
    };
    $("#paginate li:first").css({'color' : '#FF0084'}).css({'border' : 'none'});
    Display_Load();
    $("#content").load("pagination.php?page=1", Hide_Load());
    <?php
    $page
    ?>
    $("#paginate li").click(function(){
        Display_Load();
        $("#paginate li")
        .css({'border' : 'solid #193d81 1px'})
        .css({'color' : '#0063DC'});
        $(this)
        .css({'color' : '#FF0084'})
        .css({'border' : 'none'});
        var pageNum = this.id;
        $("#content").load("pagination.php?page=" + pageNum, Hide_Load());

    });
});
    </script>


<style type="text/css">


#load { 
width:30px;
padding-top:50px;
border:0px green dashed;
margin:0 auto;
}
#paginate
{
text-align:center;
border:0px green solid;
width:500px;
margin:0 auto;
}
.link{
width:800px; 
margin:0 auto; 
border:0px green solid;
}

li{ 
list-style: none; 
float: left;
margin-right: 16px; 
padding:5px; 
border:solid 1px #193d81;
color:#0063DC; 
}
li:hover
{ 
color:#FF0084; 
cursor: pointer; 
}
</style>


</head>

<body>

<div id="content" ></div>



<div class="link" align="center">



            <ul id="paginate">
                <?php
                //Show page links
                for($i=1; $i<=$pages; $i++)
                {
                    echo '<li id="'.$i.'">'.$i.'</li>';
                }
                    echo '<br/>';

                ?>
    </ul>   
    </div>
    <div style="clear:both"> </div>
<div id="load" align="center" ></div>

</body>
</html>

期望输出

喜欢上一个 1,2,3,4,5,6,7,8,9 10 下一个

我怎样才能实现我的输出

提前致谢

最佳答案

用以下代码替换您的代码:

<div class="link" align="center">
    <ul id="paginate">
       <li id="" class="page" data-value="prev">Prev</li>
       <?php 
            for($i=1; $i<=$pages; $i++) {
                echo '<li id="'.$i.'">'.$i.'</li>';
            }  
        ?>
        <li id="" class="page" data-value="next">Next</li>
     </ul>   
</div>

并使用以下内容更新您的脚本:

<script type="text/javascript">
$(document).ready(function(){
function Display_Load()
{
    $("#load").fadeIn(1000,0);
    $("#load").html("<img src='load.gif' />");
}
function Hide_Load()
{
    $("#load").fadeOut('slow');
};
$("#paginate li:first").not('.page').css({'color' : '#FF0084'}).css({'border' : 'none'});
Display_Load();
$("#content").load("pagination.php?page=1", Hide_Load());
<?php
$page
?>
$("#paginate li").not('.page').click(function() {
    Display_Load();
    $("#paginate li").css({'border' : 'solid #193d81 1px'}).css({'color' : '#0063DC'}).removeClass("active");
    $(this).css({'color' : '#FF0084'}).css({'border' : 'none'}).addClass("active");
    var pageNum = this.id;
    $("#content").load("pagination.php?page=" + pageNum, Hide_Load());

});

$("#paginate li.page").click(function() {
    var page = $(this).attr("data-value");
    if(page == "prev") {
        var index = $("#paginate li.active").index();
        if(index > 1) {
            $("#paginate li.active").prev().trigger( "click" );
        } else {
            $("#paginate li.active").trigger( "click" );
        }
    } else {
        var index = $("#paginate li.active").index();
        if( index < $("#paginate li").length -2) {
            $("#paginate li.active").next().trigger( "click" );
        } else {
            $("#paginate li.active").trigger( "click" );
        }
    }
});
});

</script>

希望对你有用。

关于php - 如何在分页中给出上一个和下一个按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25616265/

相关文章:

php - 在PHP中计算两个X,Y坐标之间的距离

php - 在共享主机上隐藏 "vendor"文件夹

javascript - 单击切换时向下移动窗口视点

php - 我需要 mysql 查询来生成以下结果

python - 一次两个选择查询python

php - 需要帮助在我的 API 上设置点击限制

php - MediaWiki (IIS) - CSS 加载不正确

php - 如何在php消息系统中设置已读未读标志

jquery - 查看当前页面时预加载第二页

php - 使多个ajax 'like' 按钮使用相同的jQuery 脚本?