【php+mysql】博客分页制作思路

2/11/2016来源:PHP技巧人气:1579

1、首先需要初始化设置每页显示的文章数$page_size,MySQL数据库中总的文章数$arc_size,页面数$page

2、利用分页公式

(当前页数 - 1 )X 每页条数 , 每页条数
Select * from table limit ($Page- 1) * $PageSize, $PageSize这是mysql中的查询sql语句,这里先假设n=($Page- 1) * $PageSize,m=$PageSize意思是从table数据表中,从n出开始,直到n+m出结束的内容查询出来
3、显示数据库的内容
代码如下:
<?php  
$conn = @mysql_connect("localhost","root","liujiang") or die("连接数据库服务器失败!");  
//连接ly_php_base数据库  
$ok = @mysql_select_db("myblog_base",$conn) or die("未能连接到数据库!");
mysql_query("set names 'utf8'"); //解决想mysql数据库中插入汉字失败的问题,这里注意utf8必须和<meta charset="utf-8">中的这一致
if($ok){echo "mysql is ok!";}else {echo "mysql is failed!";}
$page=$_GET['page'];//获得当前的页面值
if (!isset($page)){$page=1;} //如果没有值,则赋值1
$page_size=2;//每页显示2条
$arcs_result=mysql_query("select count(*) as total from myblog_article");//输出结果为Resource id #4
$arc_size=mysql_result($arcs_result,0,"total");//文章总数
$pagenum=ceil($arc_size/$page_size);
    $offset=($page-1)*$page_size;
    $sql=mysql_query("SELECT * FROM myblog_article WHERE 1 order by id asc limit $offset,$page_size");  
//desc表示降序排序,意思是从$offset开始,排$page_size次
    if($sql){echo "query yes";}else {echo "query no";}
    $rs=mysql_fetch_array($sql); //提取数据 
    while($rs) {  
?>
    <div>
    <p>文章标题:<?php echo $rs['title'];?><p>
    <p>文章类型:<?php echo $rs['style'];?></p>
    <p>文章简介:<?php echo $rs['abstract'];?></p>
    <p>上传时间:<?php echo $rs['date'];?></p>
    <p>文章作者:<?php echo $rs['author'];?>[<?php echo $page;?>]页</p>
    </div>
<?php 
        $rs = mysql_fetch_array($sql); 
    }
For($i=1;$i<=$pagenum;$i++){


       $show=($i!=$page)?"<a href='index1.php?page=".$i."'>$i</a>":"<b>$i</b>";
       Echo $show." ";

}
?>