【PHP】mysql存储过程实现分页的示例_第1页
【PHP】mysql存储过程实现分页的示例_第2页
【PHP】mysql存储过程实现分页的示例_第3页
【PHP】mysql存储过程实现分页的示例_第4页
【PHP】mysql存储过程实现分页的示例_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 【 PHP 】 mysql 存储过程实现分页的示例一个存储过程是一个可编程的函数,当希望在不同的应用程序或者平台上执行相同的函数, 或者封装特定功能时,存储过程是非常有用的!以下是详细代码:meta charset= utf-8php$host=” localhost ” ;$user=” root ” ;$pwd=” root ” ;$dbname=” test ” ;$link = mysql_connect($host, $user, $pwdor die(“ Could not connect ” . mysql_error(;mysql_select_db($dbname, $li

2、nk or die ( Can t use test . mysql_error(; mysql_query(“ SET NAMES utf8” ;mysql_query(“ SET CHARACTER_SET_CLIENT=utf8 ;mysql_query(“ SET CHARACTER_SET_RESULTS=utf8 ;检查存储过程是否已经存在$procedure_check=” SHOW CREATE PROCEDURE total_users” ; $is_exist=mysql_query($procedure_check;$procedure_check2=” SHOW CRE

3、ATE PROCEDURE page_users” ; $is_exist2=mysql_query($procedure_check2;if(!$is_exist由于存储过程执行一次后,只要没有 drop 掉就始终存在,所以对于 查询总量的存储过程来说只需要声明一次就可以 , 如果已经存在就不重复声明 声明检索总用户数的存储过程$sql_total=”#Basic Stored Procedure examplecreate procedure total_users(out total int(10BEGINselect count( INTO total from user;END“ ;

4、mysql_query($sql_total;调用存储过程mysql_query(“ call total_users(total_num;” ;$total_res=mysql_query(“ select total_num” ;获取用户总数$total_num=mysql_fetch_array($total_res; 获取当前页$page=$_REQUEST'page'$_REQUEST'page'1;设置每页显示多好条记录$page_size=2;设置 limit 偏量$off=($page-1$page_size;计算页面总数,注意键名 , 当然你也

5、可以使用数字下标$page_num=ceil($total_num'total_num'$page_size; if(!$is_exist2同上,只需要声明一次检索分页用户数的存储过程,这里传入 2个参数,都是整型 $sql_page=”#Basic Stored Procedure examplecreate procedure page_users(in off int(10,in page_size int(10 BEGINselect from user limit off,page_size;END“ ;建立存储过程$is_procedure=mysql_query(

6、$sql_page; 调用分页存储过程,传递参数$res=mysql_query(“ call page_users($off,$page_size” ;while ($arr=mysql_fetch_array($res,MYSQL_ASSOCecho id .$arr'id'. br ;echo user .$arr'user'echo hr ;显示分页for($i=1;$i=$page_num;$i+echo a href=” page= .$i. ” '.$i.'a ;复制下面的 sql 语句到 phpmyadmin 执行以生成测试数据

7、- phpMyAdmin SQL Dump 主机 localhost 生成日期 2002 年 01 月 01 日 0457 SET SQL_MODE=” NO_AUTO_VALUE_ON_ZERO” ;!40101 SET OLD_CHARACTER_SET_CLIENT=CHARACTER_SET_CLIENT ; !40101 SET OLD_CHARACTER_SET_RESULTS=CHARACTER_SET_RESULTS ; !40101 SET OLD_COLLATION_CONNECTION=COLLATION_CONNECTION ; !40101 SET NAMES utf8 ; 数据库 test 表的结构 userCREATE TABLE IF NOT EXISTS user (id int(10 unsigned NOT NULL AUTO_INCREMENT,user varchar(6 NOT NULL,pwd varchar(30 NOT NULL,PRIMARY KEY (idENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ; 转存表中的数据 userINSERT INTO user (id, user, pwd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论