php+oracle 分页类

10/14/2001来源:PHP实例人气:24623

下面是分页示例程序,看起来可能比较繁琐,但其实你只要用一下就会发现,"一切原来如此简单" :)
example.php
<?php
$conn = ociplogon("test","123456","test123");
include_once "pager.inc.php";
?>

<?php
/** 分页测试开始 */

// {{{ 初始分页对象
$pager = new pager();
/** 将 select id,name,age from test where age>20 order by id desc 拆分 */
$sqlArr = array('conn' => $conn,              // 数据库连结
                'fields' => " id,name,age ",  // 查询主语句
                'table'  => "test",           // 表名
                'condition' => " age>20 ",    // 查询条件
                'order'     => " order by id desc " // 排序方式
               );
if (!$pager->listn($sqlArr,10,$page))  // 每页显示10条
{
    $pager->errno = 10;
    die($pager->errmsg());
}
    //}}}

// {{{ 数据显示
for( $i = 0; $i < count($pager->result); $i++)
{
    $tmp = $pager->result[$i];
    echo " id:".$tmp['ID']."<br>";
    echo " name:".$tmp['NAME']."<br>";
    echo " age:".$tmp['AGE']."<hr>"
}
    // }}}

// {{{ 显示翻页链结
echo $pager->page. " / ".$pager->totalpage." 共 ".$pager->total. "条记录 ";
if ($pager->PRev != 0)
    echo " <a href=$PHP_SELF?page=".$pager->prev.">上一页</a> ";
else
    echo " 上一页 ";

if ($pager->next != 0)
    echo " <a href=$PHP_SELF?page=".$pager->next.">下一页</a> ";
else
    echo " 下一页 ";
// }}}
?>

<?@OCILogoff($conn)?>