<?php
include('conn/conn2.php');
$pagesize=5;
$url=$_SERVER["REQUEST_URI"];//取当前url路径
$url=parse_url($url); //查询当前路径所以值
$url=$url[path];//查询当前路径path的值 $numq=mysql_query("select * from tb_article");
$num=mysql_num_rows($numq); //总数 if($_GET[page]){
$pageval=$_GET[page]; //获取当前页
$page=($pageval-1)*$pagesize; //从第几条记录开始
$page.=',';
} $pageceil=ceil($num/$pagesize); //共有几页记录 $sql="select * from tb_article order by now desc limit $page $pagesize";
$query=mysql_query($sql); while($res_article=mysql_fetch_array($query)){
?>
<div id="center_centent"> <a href="user_article.php?id=<?php echo $res_article['id'];?>">
<h2> <div id="center_content_title"><?php echo csubstr($res_article['title'],0,100);?></div></h2></a> <span><?php echo csubstr($res_article['content'],0,305)."...";?></span>
<a href=""> <div id="center_content_more">继续阅读>></div></a> <hr />
<div id="author_time" >
<span>作者:<?php echo $res_article['author']; ?></span> <span>时间:<?php echo date("m,d ⊙ H:i:s",strtotime($res_article['now'])) ?></span>
<span> 标签:[<a href="javascript:void(0)"><?php echo $res_article['classify'] ?></a>]</span>
</div>
</div> <br />
<?php
}
?>
<div id="fenyebg"></div>
<div class="fenye">
<?php if($num>$pagesize){
if($pageval<=1){
$pageval=1; //当前页<1,则重置当前页为1
echo "<div><<</div>";
}else
echo "<a href=$url?page=1><div><<</div></a>"; if($pageceil>7){ //如果记录页数超过7页,则执行以下 if($pageval>3){
for($i=$pageval-3;$i<=$pageval+3&&$i<=$pageceil-3;$i++){
if($i==$pageval){ //判断如果是当前页,则显示当前页的$i不能被点击
echo "<div id='dangqian'>$i</div>";
}else
echo "<a style='border-radius:20%;box-shadow:0 1px 2px #000;' href=$url?page=".$i."><div>$i</div></a>"; //显示出除当前页,其他页的超链接
}
}else{ for($i=1;$i<8;$i++){
if($i==$pageval){ //判断如果是当前页,则显示当前页的$i不能被点击
echo "<div id='dangqian'>$i</div>";
}else
echo "<a style='border-radius:20%;box-shadow:0 1px 2px #000;' href=$url?page=".$i."><div>$i</div></a>"; //显示出除当前页,其他页的超链接
}
}
$i=$pageceil-2;
echo "<div>....</div>";
for($i;$pageceil>=$i;$i++){ //判断查询出后三页并显示
if($i==$pageval){ //判断如果是当前页,则显示当前页的$i不能被点击
echo "<div id='dangqian'>$i</div>";
}else
echo "<a style='border-radius:20%;box-shadow:0 1px 2px #000;' href=$url?page=".$i."><div>$i</div></a>"; //显示出除当前页,其他页的超链接 } }else{
for($i=1;$i<=$pageceil;$i++){ //如果记录页不数超过7页,则正常显示 if($i==$pageval){ //判断如果是当前页,则显示当前页的$i不能被点击
echo "<div id='dangqian'>$i</div>";
}else
echo "<a style='border-radius:20%;box-shadow:0 1px 2px #000;' href=$url?page=".$i."><div>$i</div></a>"; //显示出除当前页,其他页的超链接 } } if($pageceil>$pageval) //总页数大于当前页,就显示下一页
echo "<a href=$url?page=".($pageceil)."><div>>></div></a>"; } ?>
</div>

css:

 div.fenye{background:; text-align:center; width:650px;margin:0 -325px 0 0; right:50%; position:absolute;}
div.fenye div{background:; text-align:center; width:50px; height:25px; float:left;color:#FFF}
div.fenye div:hover{background:#FFF; text-align:center; width:50px; height:25px; float:left; color:#000;box-shadow:0 0px 15px #FFF;}
div#dangqian{background:#FFF;box-shadow:0 0px 15px #FFF;color:#000}
div#fenyebg{background:#FFF; width:800px;position:fixed; right:50%; margin:0 -400px 0 0; bottom:; height:25px ;border-radius:5px 5px 5px;opacity:0.3;}

php+mysql分页优化版的更多相关文章

  1. MySQL分页优化中的“INNER JOIN方式优化分页算法”到底在什么情况下会生效?

    本文出处:http://www.cnblogs.com/wy123/p/7003157.html 最近无意间看到一个MySQL分页优化的测试案例,并没有非常具体地说明测试场景的情况下,给出了一种经典的 ...

  2. mysql分页优化方法

    mysql分页优化方法 今天遇到开发反应分页语句很慢,马上看一下到底是啥的分页语句 原分页语句 SELECT * FROM `tt` LIMIT , 执行这个语句需要6秒+时间 执行计划为全表扫描 在 ...

  3. MySQL分页优化_别再用offset和limit分页了

    终于要对MySQL优化下手了,本文将对分页进行优化说明,希望可以得到一个合适你的方案. 开始之前,先分享一套MySQL教程,小白入门或者学习巩固都可以看 MySQL基础入门-mysql教程-数据库实战 ...

  4. [MySQL] 分页优化

    在传统的分页思路影响下,很多人都形成了对于分页的固定理解,也就是给出select语句,先用count()函数计算出总的条目,除与每个页面大小pagesize,然后用ceil取整,得出总的页数,用lim ...

  5. Mysql分页优化

    数据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用text, id 是主键,vtype是tinyint,vtype是索引. ...

  6. Mysql优化实践(分页优化)

    当你和别人都能实现一个某个功能,这时候区分你们能力的不是谁干活多少,而是谁能写出效率更高的代码.比如显示一个订单列表它不仅仅是写一条SELECT SQL那么简单,我们还需要很清楚的知道这条SQL他大概 ...

  7. MySql分页查询慢|这里告诉你答案

    一.背景 我们在开发的过程中使用分页是不可避免的,通常情况下我们的做法是使用limit加偏移量:select * from table where column=xxx order by xxx li ...

  8. 【MySQL】分页优化

    前段时间由于项目的原因,对一个由于分页而造成性能较差的SQL进行优化,现在将优化过程中学习到关于分页优化的知识跟大家简单分享下. 分页不外乎limit,offset,在这两个关键字中,limit其实不 ...

  9. mysql性能优化-简易版

    mysql性能优化 sql语句优化 如何发现有问题的sql? 开启mysql慢查询 show variables like 'slow_query_log' set global slow_query ...

随机推荐

  1. Docker跨主机通信之路由

    一.实验环境: 主机名 主机IP Docker0_IP Docker1 192.168.88.130 172.17.0.1 Docker2 192.168.88.131 172.18.0.1 二.实验 ...

  2. javascript中json解密

    一直以前都会断断续续会碰到js中的json数据的解析,下面凭着自己的经验,简单的讲解一下在js中的json的几种解析方法.  一.jquery的方式 首先你得先得到数据,一般都是jquery的ajax ...

  3. LINUX_bash

    $ myname=xor$ echo $myname xor 内容间空格$var="lang is $myname" echo $var lang is xor $ var='la ...

  4. C++复制构造函数和赋值符的区别

    From  http://blog.csdn.net/randyjiawenjie/article/details/6666937 非常感谢原作者分享. class CTest{public: CTe ...

  5. int *p()与int (*p)()的区别

    int *p()是返回指针的函数 int (*p)()是指向函数的指针   返回指针的函数: int *a(int x,int y); 有若干个学生的成绩(每个学生有4门课程),要求在用户输入学生序号 ...

  6. js 带省略号的分页源码及应用实例

    一.js:pagination.js /*--说明分页div id为:changpage*/var eachPageDataNum = 10;//每页显示记录数var nowPage = 1;//当前 ...

  7. 《Effective Java》笔记 使类和成员的可访问性最小化

    类和接口 第13条 使类和成员的可访问性最小化 1.设计良好的模块会隐藏所有的实现细节,把它的API与实现清晰的隔离开来,模块之间只通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况: ...

  8. 查看CPU是否支持虚拟化

    参考:http://www.cnblogs.com/jankie/archive/2012/07/04/2575695.html 一.Windows平台:使用cpu-Z即可查看. 二.Linux平台: ...

  9. SQL 查询CET使用领悟

    用到sql的遍历循环查询,如果不考虑用CET,估计又到了自己造轮子的时代了,现在觉得sql的CET确实是个好东西,针对SQL的递归查询,很是不错的方法: with etcRecommandINfo2( ...

  10. Visual Studio从此走入非Windows程序猿家

    (此文章同时发表在本人微信公众号"dotNET每日精华文章") 在Build 2015大会上,微软放了很多大招,其中一个让普通(不管是微软生态还是非微软生态的)程序猿都密切关注的就 ...