您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

例子:用PHP3实现MySQL数据的分页显示

2024/4/30 23:36:03发布15次查看
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    if($pageno>$pagecount) $pageno = $pagecount;//若pageno比总共的页数大,则把它设置为最后一页
if($pageno>0){
       $href = eregi_replace(%2f,/,urlencode($php_self));//把$php_self转换为可以在url上使用的字符串,这样的话就可以处理中文目录或中文文件名
       if($pageno>1){//显示上一页的裢接
          echo '上一页  ';
       }
       else{
          echo '上一页  ';
       }
       for($i=1;$i          echo '' . $i . '  ';
       }
       echo $pageno . '  ';
       for($i++;$i          echo '' . $i . '  ';
       }
       if($pageno          echo '下一页  ';
       }
       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          $fields[$i] = mysql_field_name($rst,$i);//取得第i+1个字段的名字
          $i++;
       }
       echo '
';//开始输出表格
       echo '';
       reset($fields);
       while(list(,$field_name)=each($fields)){//显示字段名称
          echo $field_name;
       }
       echo '
';
       while($row=mysql_fetch_array($rst)){//显示本页数据
          echo '';
          reset($fields);
          while(list(,$field_name)=each($fields)){//显示每个字段的值
             $field_value = $row[$field_name];
             if($field_value==){
                echo '  ';
             }
             else{
                echo $field_value ;
             }
          }
          echo '
';
       }
       echo '
';//表格输出结束
       mysql_free_result($rst) or die(无法释放result资源!);//释放result资源
    }
    else{
       echo 目前该表中没有任何数据!;
    }
mysql_close($server) or die(无法与服务器断开连接!);//断开连接并释放资源
    ?>
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product