仓酷云

标题: PHP网页设计例子:用PHP3完成MySQL数据的分页显示 [打印本页]

作者: 透明    时间: 2015-2-4 00:26
标题: PHP网页设计例子:用PHP3完成MySQL数据的分页显示
会MYSQL吗?会,我会把我的信息在数据库里插入删除啦mysql|分页|数据|显示   建表及生成测试数据(mysql.sql):
    create table pagetest(
        id     int unsigned not null primary key auto_increment,
        name   text not null
    );
    insert into pagetest(name) values('您好,伴侣,这是分页测试数据!');
    insert into pagetest(name) values('第2条');
    insert into pagetest(name) values('第3条');
    insert into pagetest(name) values('第4条');
    insert into pagetest(name) values('第5条');
    insert into pagetest(name) values('第6条');
    insert into pagetest(name) values('第7条');
    insert into pagetest(name) values('第8条');
    insert into pagetest(name) values('第9条');
    insert into pagetest(name) values('第10条');
    insert into pagetest(name) values('第11条');
    insert into pagetest(name) values('第12条');
    insert into pagetest(name) values('第13条');

显示法式(mysql.php3):
    <?
    $pagesize = 2;//每页显示2笔记录
   
    $server = mysql_pconnect("localhost","test","test") or die("没法毗连到localhost主机上的MySQL数据库办事器!");//以test账号、test暗码毗连localhost主机上的MySQL数据库
    $db = mysql_select_db("test") or die("没法毗连到test数据库!");

    $sql = "select count(*) as total from pagetest";//生成查询纪录数的SQL语句
    $rst = mysql_query($sql) or die("没法履行SQL语句:$sql !");//查询纪录数
    $row = mysql_fetch_array($rst) or die("没有更多的纪录!");//掏出一笔记录
    $rowcount = $row["total"];//掏出纪录数
    mysql_free_result($rst) or die("没法释放result资本!");//释放result资本

    $pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//算出总共有几页

    if(!isset($pageno)) $pageno = 1;//在没有设置pageno时,缺省为显示第1页
    if($pageno<1) $pageno = 1;//若pageno比1小,则把它设置为1
    if($pageno>$pagecount) $pageno = $pagecount;//若pageno比总共的页数大,则把它设置为最初一页

    if($pageno>0){
       $href = eregi_replace("%2f","/",urlencode($PHP_SELF));//把$PHP_SELF转换为可以在URL上利用的字符串,如许的话就能够处置中文目次或中文文件名
       if($pageno>1){//显示上一页的裢接
          echo '<a href="' . $href . '?pageno=' . ($pageno-1) . '">上一页</a>  ';
       }
       else{
          echo '上一页  ';
       }
       for($i=1;$i<$pageno;$i++){
          echo '<a href="' . $href . '?pageno=' . $i . '">' . $i . '</a>  ';
       }
       echo $pageno . '  ';
       for($i++;$i<=$pagecount;$i++){
          echo '<a href="' . $href . '?pageno=' . $i . '">' . $i . '</a>  ';
       }
       if($pageno<$pagecount){//显示下一页的裢接
          echo '<a href="' . $href . '?pageno=' . ($pageno+1) . '">下一页</a>  ';
       }
       else{
          echo '下一页  ';
       }

       $offset = ($pageno-1) * $pagesize;//算出本页第一笔记录在全部表中的地位(第一笔记录为0)
       $sql = "select * from pagetest LIMIT $offset,$pagesize";//生成查询本页数据的SQL语句
       $rst = mysql_query($sql);//查询本页数据
       $num_fields = mysql_num_fields($rst);//获得字段总数
       $i = 0;
       while($i<$num_fields){//获得一切字段的名字
          $fields[$i] = mysql_field_name($rst,$i);//获得第i+1个字段的名字
          $i++;
       }
       echo '<table border="1" cellspacing="0" cellpadding="0">';//入手下手输入表格
       echo '<tr>';
       reset($fields);
       while(list(,$field_name)=each($fields)){//显示字段称号
          echo "<th>$field_name</th>";
       }
       echo '</tr>';
       while($row=mysql_fetch_array($rst)){//显示本页数据
          echo '<tr>';
          reset($fields);
          while(list(,$field_name)=each($fields)){//显示每一个字段的值
             $field_value = $row[$field_name];
             if($field_value==""){
                echo '<td> </td>';
             }
             else{
                echo "<td>$field_value</td>";
             }
          }
          echo '</tr>';
       }
       echo '</table>';//表格输入停止
       mysql_free_result($rst) or die("没法释放result资本!");//释放result资本
    }
    else{
       echo "今朝该表中没有任何数据!";
    }

    mysql_close($server) or die("没法与办事器断开毗连!");//断开毗连并释放资本
    ?>

  如果不会怎么办,我的视频教程里有个最简单的留言板 最开始离不开模仿,
作者: 因胸联盟    时间: 2015-2-4 12:40
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 乐观    时间: 2015-2-9 22:39
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 变相怪杰    时间: 2015-2-11 06:29
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 飘灵儿    时间: 2015-3-1 23:07
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 活着的死人    时间: 2015-3-5 23:44
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 深爱那片海    时间: 2015-3-10 02:46
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 金色的骷髅    时间: 2015-3-11 13:25
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 只想知道    时间: 2015-3-14 22:45
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: 小女巫    时间: 2015-3-17 17:15
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 爱飞    时间: 2015-3-24 14:26
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: admin    时间: 2015-4-3 13:33
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者: 简单生活    时间: 2015-4-4 20:33
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 飘飘悠悠    时间: 2015-4-12 23:25
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 灵魂腐蚀    时间: 2015-4-14 14:41
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 蒙在股里    时间: 2015-4-18 10:57
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 再见西城    时间: 2015-4-28 16:38
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 不帅    时间: 2015-5-1 16:10
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 兰色精灵    时间: 2015-5-2 17:30
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 精灵巫婆    时间: 2015-5-4 10:07
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2