How to use PHP & Oracle (oci8) Search Rows Data and Paging/Pagination This is the guideline/example scripts how to use PHP search data from Oracle table and display result of multiple pages to pagination.
ShotDev Focus:
- PHP & Oracle database search data and pagination.
Example
php_oracle_search_pagination.php
<html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>"> <table width="599" border="1"> <tr> <th>Keyword <input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>"> <input type="submit" value="Search"></th> </tr> </table> </form> <? if($_GET["txtKeyword"] != "") { $objConnect = oci_connect("myuser","mypassword","TCDB"); $strSQL = "SELECT * FROM CUSTOMER WHERE (NAME LIKE '%".$_GET["txtKeyword"]."%' or EMAIL LIKE '%".$_GET["txtKeyword"]."%' ) "; $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&txtKeyword=$_GET[txtKeyword]'><< Back</a> "; } for($i=1; $i<=$Num_Pages; $i++){ if($i != $Page) { echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtKeyword=$_GET[txtKeyword]'>$i</a> ]"; } else { echo "<b> $i </b>"; } } if($Page!=$Num_Pages) { echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtKeyword=$_GET[txtKeyword]'>Next>></a> "; } oci_close($objConnect); } ?> </body> </html>
Create a php file and save to path root-path/myphp/
Run
http://localhost/myphp/php_oracle_search_pagination.php
Screenshot