<?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. kettle作业中的js如何写日志文件

    在kettle作业中JavaScript脚本有时候也扮演非常重要的角色,此时我们希望有一些日志记录.下面是job中JavaScript记录日志的方式. job的js写日志的方法. 得到日志输出实例 o ...

  2. poj3904

    题意:给出n(n<10000)个数,这些数<=10000,要求选出四个数字且他们的最大公约数为1的(注意:不需要两两互质),有多少种选法. 分析: 容斥原理 假设平面上有一些圆,互相之间有 ...

  3. Java for LeetCode 198 House Robber

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  4. codeforces 479C Exams 解题报告

    题目链接:http://codeforces.com/problemset/problem/479/C 题目意思:简单来说,就是有个人需要通过 n 门考试,每场考试他可以选择ai, bi 这其中一个时 ...

  5. python scrapy cannot import name xmlrpc_client的解决方案,解决办法

    安装scrapy的时候遇到如下错误的解决办法: "python scrapy cannot import name xmlrpc_client" 先执行 sudo pip unin ...

  6. 铺地毯(luogu 1003)

    题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...

  7. TinyHttpd中sockaddr与struct sockaddr_in的区别

    上午学习TinyHttpd的源码,sockaddr 结构体以前没接触过, 在网络编程中经常用到struct sockaddr和struct sockaddr_in,这里简单介绍. 在linux环境下, ...

  8. HTTP协议中状态码的应用

    HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. 所有状态码的第一个数字代表了响应的五种状态之一.   Mark from 维基百科     消息 ...

  9. 什么才是程序员的核心竞争力?zz

    原文出处: 知乎 姚冬的观点 学习能力,尤其是自学能力,你啥时看到那些有名的程序高手在论坛上问“学习 XX 该看什么书,如何快速学习 XXX,学习 XXX 有什么代码推荐”之类的问题,他们想学什么很快 ...

  10. Linux 串口编程(转)

    无论那种操作方式,一般都通过四个步骤来完成: (1) 打开串口 (2) 配置串口 (3) 读写串口 (4) 关闭串口 转自