I have this problem whereby I cannot display records from oracle database to my web application using PHP as a server side scripting language.Could someone kindly tell me where I could be doing wrong? I want by the end of the day to be able to achieve pagination and replace ROWNUM and rnum with variables that users can manipulate when moving fromm page to page.
<?php
/* Connection string to Oracle view */
/* user is patients */
/* password is patients */
$conn=oci_connect('patients','patients','192.168.1.100/hosecare');
/* Query expected to do pagination and get records */
$qry="select *
from (select a.*, ROWNUM rnum
from (select BILL_NO,AK_NO,PAT_NAME,VOUCHER_DATE,USER_NAME,PAYMENT_AMT from patients WHERE VOUCHER_DATE >='01-Sep-2011' AND VOUCHER_DATE <='26-Sep-2011' AND SOURCE_LOCATION='KIAMBU CLINIC' ORDER BY VOUCHER_DATE)a
where ROWNUM <=20)
where rnum >=10;";
$stid=oci_parse($conn,$qry);
oci_execute($stid);
/* Table begins here */
echo "<table border='1'>\n";
echo "<tr>\n";
/* Table Column headers */
echo "<td>".'<h3>BILL NO</h3>'."</td>";
echo "<td>".'<h3>ACCOUNT NO</h3>'."</td>";
echo "<td>".'<h3>PATIENT NAME</h3>'."</td>";
echo "<td>".'<h3>VOUCHER DATE</h3>'."</td>";
echo "<td>".'<h3>USER NAME</h3>'."</td>";
echo "<td>".'<h3>PAYMENT AMOUNT</h3>'."</td>";
echo "</tr>\n";
/* Populating Table cells with records resulting from the pagination query */
while($row=oci_fetch_array($stid,OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach($row as $item){
echo "<td>".($item !==null ? htmlentities($item,ENT_QUOTES) : " ")." </td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
?>
I realized the problem came about because of the preceding unnecessary space before SOURCE_LOCATION in the query and the unnecessary semicolon (;) at the end of the query.
The code perfectly works the way I wanted.Thanks to each and everyone of you for the contribution you made towards giving Answers to the Question.
I appreciate all your efforts.
The working code now looks as follows;