十天学会php之第八天

学习目的:做一个分页显示

关键就是用到了SQL语句中的limit来限定显示的记录从几到几。我们需要一个记录当前页的变量$page,还需要总共的记录数$num

对于$page如果没有我们就让它=0,如果有<0就让它也=0,如果超过了总的页数就让他=总的页数。

$execc="select count(*) from tablename ";
$resultc=mysql_query($execc);
$rsc=mysql_fetch_array($resultc);
$num=$rsc[0];

这样可以得到记录总数
ceil($num/10))如果一页10记录的话,这个就是总的页数

所以可以这么写
if(empty($_GET['page']))
{
$page=0;
}
else
{
$page=$_GET['page'];
if($page<0)$page=0;
if($page>=ceil($num/10))$page=ceil($num/10)-1;//因为page是从0开始的,所以要-1
}

这样$exec可以这么写 $exec="select * from tablename limit ".($page*10).",10";
//一页是10记录的

最后我们需要做的就是几个连接:
<a href="xxx.php?page=0">FirstPage</a>
<a href="xxx.php?page=<?=($page-1)?>">PrevPage</a>
<a href="xxx.php?page=<?=($page+1)?>">NextPage</a>
<a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a>

这是一个大致的思路,大家可以想想怎么来优化?今天说到这里,明天说一下一些注意的问题。

(0)

相关推荐

  • 十天学会php之第八天

    学习目的:做一个分页显示 关键就是用到了SQL语句中的limit来限定显示的记录从几到几.我们需要一个记录当前页的变量$page,还需要总共的记录数$num 对于$page如果没有我们就让它=0,如果有<0就让它也=0,如果超过了总的页数就让他=总的页数. $execc="select count(*) from tablename ";$resultc=mysql_query($execc);$rsc=mysql_fetch_array($resultc);$num=$rsc[

  • 十天学会php(3)

    第七天 学习目的:学会SESSION的使用 SESSION的作用很多,最多用的就是站点内页面间变量传递.在页面开始我们要session_start();开启SESSION:然后就可以使用SESSION变量了,比如说要赋值就是:$_SESSION['item']="item1";要得到值就是$item1=$_SESSION['item'];,很简单吧.这里我们可能会使用到一些函数,比如说判断是不是某SESSION变量为空,可以这么写:empty($_SESSION['inum'])返回t

  • 十天学会php(1)

    以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了. PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合.我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序.当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少. 至于表单设计什么的,我这里也不想多说了,在<十天学会ASP>中已经有介绍. 下面简单介绍一下PHP的语法. 1.嵌入方法:类似AS

  • 十天学会php之第十天

    学习目的:学会用PHP上传文件和发邮件 上传文件表单必须加上 enctype="multipart/form-data" 和 <input type="file" name="file">下面看一下代码: $f=&$HTTP_POST_FILES['file'];$dest_dir='uploads';//设定上传目录$dest=$dest_dir.'/'.date("ymd")."_"

  • 十天学会php之第一天

    以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了. PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合.我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序.当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少. 至于表单设计什么的,我这里也不想多说了,在<十天学会ASP>中已经有介绍. 下面简单介绍一下PHP的语法. 1.嵌入方法: 类似A

  • 十分钟学会C++ Traits

    最近和一个朋友闲聊的时候他对我说一个人对C++的理解很多种境界,朋友不是个喜欢吹牛的人,于是听他细说,觉得很是有道理. 想写一篇C++ traits方面的文章已经有一段时间了,但是说实话traits这项技术确实有些晦涩,很担心写完了达不到期望的效果,于是每每试图以简炼的文字表达,慢慢的就等到了今天. 先说说我为什么专门对这项技术写一篇文章吧.记得当时在看STL/boost代码的时候经常遇到traits,当时惊叹于代码原来可以这样写,但是最初根本是看不懂的,查了一些资料才彻底理解了traits存在

  • 十天学会php之第七天

    学习目的:学会SESSION的使用 SESSION的作用很多,最多用的就是站点内页面间变量传递.在页面开始我们要session_start();开启SESSION:然后就可以使用SESSION变量了,比如说要赋值就是:$_SESSION['item']="item1";要得到值就是$item1=$_SESSION['item'];,很简单吧.这里我们可能会使用到一些函数,比如说判断是不是某SESSION变量为空,可以这么写:empty($_SESSION['inum'])返回true

  • 十天学会php之第三天

    学习目的:学会构建数据库 在ASP中,如果是ACCESS数据库你可以直接打开ACCESS来编辑MDB文件,如果是SQL SERVER你可以打开企业管理器来编辑SQL SERVER数据库,但是在PHP中,MY SQL的命令行编辑可能会令初学者感到很麻烦,不要紧,你下载一个PHPMYADMIN安装一下,以后建立编辑数据库可以靠它了. 下面说一下它的使用.  进入了phpmyadmin后,我们首先需要建立一个数据库,Language (*) 这里选择中文简体,然后在左边的 创建一个新的数据库 这里填写

  • 十天学会php(2)

    第三天 学习目的:学会构建数据库 在ASP中,如果是ACCESS数据库你可以直接打开ACCESS来编辑MDB文件,如果是SQL SERVER你可以打开企业管理器来编辑SQL SERVER数据库,但是在PHP中,MY SQL的命令行编辑可能会令初学者感到很麻烦,不要紧,你下载一个PHPMYADMIN安装一下,以后建立编辑数据库可以靠它了. 下面说一下它的使用.进入了phpmyadmin后,我们首先需要建立一个数据库,Language (*) 这里选择中文简体,然后在左边的 创建一个新的数据库 这里

  • 十天学会php之第四天

    学习目的:学会连接数据库 PHP简直就是一个函数库,丰富的函数使PHP的某些地方相当简单.建议大家down一本PHP的函数手册,总用的到. 我这里就简单说一下连接MYSQL数据库. 1.mysql_connect 打开 MySQL 服务器连接. 语法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 返回值: 整数 本函数建立与 MySQL 服务器的连接.其中所有的参数都可省略

随机推荐