广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    用PHP实现ODBC数据分页显示一例

    2018-10-07 10:23:57 次阅读 稿源:互联网
    零七广告
    $pagesize = 2; //一页显示记录数

    $con = odbc_connect("access_test","","",SQL_CUR_USE_ODBC) or die("无法连接ODBC数据源access_test"); //连接一个ODBC数据源
    $sql = "select count(*) as total from test"; //取得记录总数SQL语句
    $rst = odbc_exec($con,$sql) or die("$sql查询出错"); //执行取得记录总数SQL语句
    $recordcount = odbc_result($rst,1); //取得记录总数,在这里也可以用$recordcount = odbc_result($rst,"total");
    odbc_free_result($rst); //释放资源

    $pagecount = bcdiv($recordcount+$pagesize-1,$pagesize,0); //算出总页数

    if(!isset($page)) $page = 1; //如果没有指定显示页码,缺省为显示第一页
    if($page<1) $page = 1; //如果页码比1小,则显示第一页
    if($page>$pagecount) $page = $pagecount; //如果页码比总页数大,则显示最后一页

    if($page>0){ //页码比0大,表示有数据
       echo '>> 分页 ';
       echo '<a href="' . $PHP_SELF . '?page=1">首页</a> ';
       if($page>1){
          echo '<a href="' . $PHP_SELF . '?page='. ($page-1) . '">前页</a> ';
       }
       else{
          echo '前页 ';
       }
       if($page<$pagecount){
          echo '<a href="' . $PHP_SELF . '?page='. ($page+1) . '">后页</a> ';
       }
       else{
          echo '后页 ';
       }
       echo '<a href="' . $PHP_SELF . '?page=' . $pagecount . '">尾页</a> ';
       echo '页次: ' . $page . '/' . $pagecount . '页 ';
       echo $pagesize . '条/页 ';
       echo '共' . $recordcount . '条 ';

       $sql = "select * from test"; //取得数据SQL语句
       $rst = odbc_exec($con,$sql) or die("$sql查询出错"); //执行取得数据SQL语句

       $fieldcount = odbc_num_fields($rst); //取得字段总数

       echo '<table border="1" cellspacing="0" cellpadding="0">';
       echo '<tr>';
       for($i=1;$i<=$fieldcount;$i++){
          echo '<th>' . odbc_field_name($rst,$i) . '</th>'; //显示第$i个字段名
       }
       echo '</tr>';
       $rowi = ($page-1)*$pagesize+1;
       for($i=0;$i<$pagesize;$i++){
          echo '<tr>';
          if($rowi>$recordcount){
             for($j=0;$j<$fieldcount;$j++){
                echo '<td> </td>';
             }
          }
          else{
             odbc_fetch_into($rst,$rowi,&$row);
             for($j=0;$j<$fieldcount;$j++){
                $field = $row[$j];
                if($field=='') $field = ' ';
                echo '<td>' . $field  . '</td>';
             }
             $rowi = $rowi+1;
          }
          echo '</tr>';
       }
       echo '</table>';

       odbc_free_result($rst); //释放资源
    }
    else{
       echo "无数据";
    }

    odbc_close($con); //关闭连接并释放资源
    ?>


    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告