利用PHP实现MySQL表数据的简单分页

PHP实现MySQL表数据的简单分页

<?php 
$conn=mysql_connect("127.0.0.1","root",‘123456‘) or die("数据库连接失败");
mysql_select_db("ym");
mysql_query("set names utf8");
//获取数据的行数
$all=mysql_num_rows(mysql_query("select * from t1"));    
//定义分页所需的参数
$lenght=5;                             //每页显示的数量
@$page=$_GET[‘page‘]?$_GET[‘page‘]:1;    //当前页
$offset=($page-1)*$lenght;              //每页起始行编号
$allpage=ceil($all/$lenght);            //所有的页数-总数页
$prepage=$page-1;                       //上一页       
if($page==1){
    $prepage=1;                         //特殊的是当前页是1时上一页就是1
    }
$nextpage=$page+1;
if($page==$allpage){
    $nextpage=$allpage;                //特殊的是最后页是总数页时下一页就是总数页
    }
$sql="select * from t1 order by id limit {$offset},{$lenght}";
$rest=mysql_query($sql);

echo "SQL语句:".$sql."<br/>";
echo "总页数是:".$all."页<br/>";
echo "当前页是第:".$page."<br/>";
echo "<center><table width=500 border=1px />";
while($detail=mysql_fetch_row($rest)){
// echo "<pre>";
// print_r($detail);
// echo "</pre>";
echo "<tr/>";
echo "<td>$detail[0]</td>";
echo "<td>$detail[1]</td>";
echo "<td>$detail[2]</td>";
echo "<tr/>";
}
echo "</table></center>";
echo "<center><a href=‘code8.php?page=1‘>首页|";
echo "<a href=‘code8.php?page={$prepage}‘>上一页</a>|";
echo "<a href=‘code8.php?page={$nextpage}‘>下一页</a>|";
echo "<a href=‘code8.php?page=$allpage‘>末页</center>";
     
?>
时间: 2024-10-18 15:49:12

利用PHP实现MySQL表数据的简单分页的相关文章

利用Flume将MySQL表数据准实时抽取到HDFS

转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取从MySQL数据库增量抽取数据到HDFS,然后用HAWQ的外部表进行访问.这种方式只需要很少量的配置即可完成数据抽取任务,但缺点同样明显,那就是实时性.Sqoop使用MapReduce读写数据,而MapReduce是为了批处理场景设计的,目标是大吞吐量,并不太关心低延时问题.就像实验中所做的,每天定

根据MySQL表数据导出INSERT INTO语句的方法

因项目中有需要需根据MySQL表数据生成INSERT INTO语句,在网上找了些现成的代码,原作者是谁就不知道了,但是发现有BUG,不能适用,遂对他人代码进行了修改.修改后能较好的导出INSERT INTO语句.代码如下: package dwz.interaction; import java.io.*; import java.sql.*; import java.util.ArrayList; import java.util.List; /** * Update by internetr

MySQL大数据量快速分页实现(转载)

在mysql中如果是小数据量分页我们直接使用limit x,y即可,但是如果千万数据使用这样你无法正常使用分页功能了,那么大数据量要如何构造sql查询分页呢? 般刚开始学SQL语句的时候,会这样写 代码如下:  代码如下 复制代码 SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但在数据达到百万级的时候,这样写会慢死 代码如下:  代码如下 复制代码 SELECT * FROM table ORDER BY id LIMIT 1000000, 10

Python--增量循环删除MySQL表数据

需求场景: 有一业务数据库,使用MySQL 5.5版本,每天会写入大量数据,需要不定期将多表中“指定时期前“的数据进行删除,在SQL SERVER中很容易实现,写几个WHILE循环就搞定,虽然MySQL中也存在类似功能,怎奈自己不精通,于是采用Python来实现 话不多少,上脚本: # coding: utf-8 import MySQLdb import time # delete config DELETE_DATETIME = '2016-08-31 23:59:59' DELETE_RO

将mysql表数据批量导入redis zset结构中

工作中有这样一个需求,要将用户的魅力值数据做排行,生成榜单展示前40名,每隔5分钟刷新一次榜单.这样的需求用redis的zset是很方便实现的.但是数据存在mysql的表中,有400多万条,怎么将其快速的放入redis中呢? 一般我们想到是通过程序把数据从mysql中查出来,然后存入redis,但是这样不仅耗时,而且不能保证写入redis的数据的准确性,这中间存在一个部署的时差.通过google老师一查原来redis提供了批量导入数据的功能,原帖地址: http://baijian.github

MySQL 表数据的导入导出

数据导出 1.  使用 SELECT ...INTO OUTFILE ...命令来导出数据,具体语法如下. mysql> SELECT * FROM tablename INTO OUTFILE 'target_file' [option]; 其中 option 参数可以是以下选项: FIELDS TEMINATED BY 'string' (字符分断符) FIELDS [OPTIONALLY] ENCLOSED BY 'CHAR' (字段引用符,如果加OPTIONAL选项则只用在char.va

批量更新mysql表数据

1.批量更新表中某个字段,如果表比较大,每条记录都执行一条update,1s执行10条数据,10万条数据就要1W秒,3个多小时. 2.可以用case when 来实现,模板如下 UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END WHERE id IN (1,2,3); ID 是条件字段,WHEN 相当于where,THEN 表示要更新的字段设置成的值. 如果有多个

MySQL之数据的简单查询

我直接把我的mysql学习笔记以图片的形式粘贴在这里了,供自己回顾(都是一些简单的语句)

mysql表数据增删改查、子查询

//操作数据表中的记录 create table user2( id smallint unsigned primary key AUTO_INCREMENT, username varchar(20) not null, password varchar(20) not null, age tinyint not null default 10, sex boolean ) --insert-- insert user2 values(null,'孙千','123',25,1);//自增序列可