PHP+AJAX实现 分页

分页功能在博客 日志 网站中等十分常见。往往我们会采用服务器技术来实现对内容的分页展示

对数据类的网站 我们还有专门的sql语句来编写。

但也有越来越多的网站采用ajax技术来实现,对于简单的文字展示类网站 这种方法可以算是比较优秀和用户体验很好的方式,当然任何东西都是一分为二的 弊端当然也随之存在 ,因为他会在某种程度上影响SEO

下面我就简单介绍一下php+ajax方式来实现分页功能

 

CREATE TABLE IF NOT EXISTS `pagination` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `post` varchar(250) NOT NULL,
  `postlink` varchar(250) NOT NULL,
  PRIMARY KEY (`id`)
)

 

$mysql_db_hostname = "Host name";
$mysql_db_user = "UserName";
$mysql_db_password = "Password";
$mysql_db_database = "Database Name";

$con = mysql_connect($mysql_db_hostname, $mysql_db_user,
       $mysql_db_password or die("Could not connect database");
//Create a new connection
mysql_select_db($mysql_db_database, $con) or
                 die("Could not select database");
// select database

 

#wrapper ul{
list-style:none;
margin-left:30%;
}
#wrapper ul li a{
text-decoration:none;
border:1px solid #474747;
padding:2px 8px 2px 8px;
color:#474747;
}
#wrapper ul li{
float:left;
margin-left:10px;
}

 

define('PAGE_PER_NO',8);
function getPagination($count){
      $paginationCount= floor($count / PAGE_PER_NO);

      $paginationModCount= $count % PAGE_PER_NO;
      if(!empty($paginationModCount)){
               $paginationCount++;
      }

      return $paginationCount;
}

 

 

include_once('inc/dbConnect.inc.php');
include_once('inc/pagination.inc.php');
$query="select id from pagination order by id desc";
$res=mysql_query($query);
$count=mysql_num_rows($res);
if($count > 0){
      $paginationCount=getPagination($count);
}

Ajax Code

<script type="text/javascript">
function changePagination(pageId,liId){
     $(".flash").show();
     $(".flash").fadeIn(400).html
                ('Loading <img src="image/ajax-loading.gif" />');
     var dataString = 'pageId='+ pageId;
     $.ajax({
           type: "POST",
           url: "pageData.php",
           data: dataString,
           cache: false,
           success: function(result){
                 $(".flash").hide();
                 $(".link a").css('background-color','#fff') ;
                 $("#"+liId+" a").css('background-color','#99A607');
                 $("#pageData").html(result);
           }
      });
}
</script>

<body οnlοad="changePagination('0','first')">
For load data first time

<div id="pageData"></div>
<?php
if($count > 0){
?>
<ul>
    <li class='first link' id="first">
        <a href="javascript:void(0)"
             οnclick="changePagination('0','first')">First</a>
    </li>
    <?php
    for($i=0;$i<$paginationCount;$i++){
    ?>
    <li id="<?php echo $i;?>_no" class='link'>
          <a href="javascript:void(0)"
            οnclick="changePagination
               ('<?php echo $i;?>','<?php echo $i;?>_no')">
              <?php echo $i+1;?>
          </a>
    </li>
    <?php
    }
    ?>
    <li class='last link' id="last">
         <a href="javascript:void(0)"
           οnclick="changePagination
              ('<?php echo $paginationCount-1;?>','last')">
             Last
         </a>
    </li>
    <li class="flash"></li>
</ul>
<?php } ?>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值