ホームページ >php教程 >php手册 >php+oracleを使ってページングを実装するサンプルプログラム

php+oracleを使ってページングを実装するサンプルプログラム

WBOY
WBOYオリジナル
2016-06-21 09:13:441031ブラウズ

oracle|プログラム|ページング|例



include "/maya/inc/dbconn.php";
$sql="select max(rownum) from xqhtest where id<50";
$stmt=ociparse( $gConn,$sql);
ociexecute($stmt);
ocifetch($stmt);
$rowcount=ociresult($stmt,1);
ocifreestatement($stmt);
echo("Total".$rowcount. "Records
n");
$recordperpage=15; // 各ページに表示されるレコード数
$pages=ceil($rowcount/$recordperpage) // 合計ページ数
echo("Total" . $pages."page
n");

?>

< /tr>

//オフセットパラメータがスクリプトに渡されるかどうかを決定し、渡されない場合はデフォルト値0を使用します

if (empty($offset))
{
$offset=1;
}
$currentpage=ceil($offset/$recordperpage); // 現在のページを表示します
echo("Current page:".$currentpage."
n");
$endset=$offset+$recordperpage;

$ stmt2=ociparse($gConn,"SELECT rownum,id,name FROM xqhtest WHERE id//echo "SELECT id,name FROM xqhtest WHERE rownumn";
ociexecute($ stmt2) ;
//任意の SQL ステートメントを使用できますが、select の後には Oracle に固有の rownum が必要です!
while (ocifetch($stmt2))

{
echo("n");

/ /返されたレコードの表示に使用するコードに置き換えます
}
//すべてのページへのリンクを書き込むには
print "
idname
".ociresult($stmt2,"NAME")."


";


for ($ i= 1; $i {
$newoffset=($recordperpage*($i-1))+1;
print "$in";
}
print "
";

$nextoffset=$recordperpage*$currentpage+1;
$prevoffset=$recordperpage*($currentpage-2) +1 ;
//前のページ接続が必要かどうかを判断します
if (($currentpage>1) && ($currentpage<=$pages))
{
print " n";
}

//次のページ接続が必要かどうかを決定します
if (($pages!=0) && ($currentpage<$pages))
{
print "< ;a href="$PHP_SELF?offset=$nextoffset">次のページ
n";
}

ocifreestatement($stmt2);
ocilogoff($gConn);
?>
< /body>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。