How to use PHP & Oracle (oci8) and Paging/Pagination This is the guideline/example scripts how to use PHP get data from Oracle table and display result of multiple pages to pagination.
ShotDev Focus:
- PHP & Oracle database list data from and pagination.
Example
php_oracle_pagination.php
<html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <? $objConnect = oci_connect("myuser","mypassword","TCDB"); $strSQL = "SELECT * FROM CUSTOMER ORDER BY CUSTOMERID ASC"; $objParse = oci_parse ($objConnect, $strSQL); oci_execute ($objParse,OCI_DEFAULT); $Num_Rows = oci_fetch_all($objParse, $Result); $Per_Page = 2; // Per Page $Page = $_GET["Page"]; if(!$_GET["Page"]) { $Page=1; } $Prev_Page = $Page-1; $Next_Page = $Page+1; $Page_Start = (($Per_Page*$Page)-$Per_Page); if($Num_Rows<=$Per_Page) { $Num_Pages =1; } else if(($Num_Rows % $Per_Page)==0) { $Num_Pages =($Num_Rows/$Per_Page) ; } else { $Num_Pages =($Num_Rows/$Per_Page)+1; $Num_Pages = (int)$Num_Pages; } $Page_End = $Per_Page * $Page; if ($Page_End > $Num_Rows) { $Page_End = $Num_Rows; } ?> <table width="600" border="1"> <tr> <th width="91"> <div align="center">CustomerID </div></th> <th width="98"> <div align="center">Name </div></th> <th width="198"> <div align="center">Email </div></th> <th width="97"> <div align="center">CountryCode </div></th> <th width="59"> <div align="center">Budget </div></th> <th width="71"> <div align="center">Used </div></th> </tr> <? for($i=$Page_Start;$i<$Page_End;$i++) { ?> <tr> <td><div align="center"><?=$Result["CUSTOMERID"][$i];?></div></td> <td><?=$Result["NAME"][$i];?></td> <td><?=$Result["EMAIL"][$i];?></td> <td><div align="center"><?=$Result["COUNTRYCODE"][$i];?></div></td> <td align="right"><?=$Result["BUDGET"][$i];?></td> <td align="right"><?=$Result["USED"][$i];?></td> </tr> <? } ?> </table> <br> Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page : <? if($Prev_Page) { echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> "; } for($i=1; $i<=$Num_Pages; $i++){ if($i != $Page) { echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]"; } else { echo "<b> $i </b>"; } } if($Page!=$Num_Pages) { echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> "; } oci_close($objConnect); ?> </body> </html>
Create a php file and save to path root-path/myphp/
Run
http://localhost/myphp/php_oracle_pagination.php
Screenshot
2student…
…