web 2.0

How to use PHP & Oracle (oci8) Search Rows Data and Paging/Pagination

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

PHP & Oracle (oci8) Search Data and Paging/Pagination
.
.
.

Download this script.
Download

1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (2 votes, average: 5.50 out of 10)
Loading ... Loading ...

Leave a Reply

You must be logged in to post a comment.