首页 【PHP】mysql存储过程实现分页的示例

【PHP】mysql存储过程实现分页的示例

举报
开通vip

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

【PHP】mysql存储过程实现分页的示例
【PHP】mysql存储过程实现分页的示例 一个存储过程是一个可编程的函数,当希望在不同的应用程序或者平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的! 以下是详细代码: meta charset=’utf-8′ php $host=”localhost”; $user=”root”; $pwd=”root”; $dbname=”test”; $link = mysql_connect($host, $user, $pwd)or die(“Could not connect ” . mysql_error()); mysql_select_db($dbname, $link) 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 CREATE PROCEDURE page_users”; $is_exist2=mysql_query($procedure_check2); if(!$is_exist){ 由于存储过程执行一次后,只要没有drop掉就始终存在,所以对于 查询总量的存储过程来说只需要声明一次就可以,如果已经存在就不重复声明 声明检索总用户数的存储过程 $sql_total=” #Basic Stored Procedure example create procedure total_users(out total int(10)) BEGIN select count() INTO total from user; END “; 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; 计算页面总数,注意键名,当然你也可以使用数字下标 $page_num=ceil($total_num['@total_num']$page_size); if(!$is_exist2){ 同上,只需要声明一次 检索分页用户数的存储过程,这里传入2个参数,都是整型 $sql_page=” #Basic Stored Procedure example create procedure page_users(in off int(10),in page_size int(10)) BEGIN select from user limit off,page_size; END “; 建立存储过程 $is_procedure=mysql_query($sql_page); } 调用分页存储过程,传递参数 $res=mysql_query(“call page_users($off,$page_size)”); while ($arr=mysql_fetch_array($res,MYSQL_ASSOC)){ echo ‘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执行以生成测试数据———- – phpMyAdmin SQL Dump – version 3.3.9.2 – httpwww.phpmyadmin.net – – 主机 localhost – 生成日期 2002 年 01 月 01 日 0457 – 服务器版本 5.5.9 – PHP 版本 5.3.5 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` – – ——————————————————– – – 表的结构 `user` – CREATE 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 (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ; – – 转存表中的数据 `user` – INSERT INTO `user` (`id`, `user`, `pwd`) VALUES (11, ‘测试2′, ‘测试2′), (12, ‘测试1′, ‘测试1′), (13, ‘测试3′, ‘测试3′), (15, ‘测试4′, ‘测试4′), (16, ‘测试5′, ‘测试5′), (17, ’222′, ’111′), (18, ’222a’, ’111a’); ——————————————————–
本文档为【【PHP】mysql存储过程实现分页的示例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_868867
暂无简介~
格式:doc
大小:27KB
软件:Word
页数:3
分类:互联网
上传时间:2013-06-19
浏览量:29