Hi I've had same problems getting into oracle & php so I wrote you a small fragment on how to acces an oracle stored procedure I'm assuming the stored procedure is returning a cursor ( which is the worst case senario) if that is not the case you'll have to modify the followig code to suit your needs , that is to change the ocibindbyname statment to fit the variables the stored procedure returns. I hope this helps an I havent made it more complicated for you than it already is.
yavor
{any question just mailme just don't over do it please}
function load_data(){
// Connect to oracle
$conn = ocilogon("username","password","server");
// The sql to clall the oracle stored procedure
$SQL = "BEGIN broker.getmatched(:trades); END; ";
// The cursor
$cur = ociparse($conn,$SQL);
// Create a new cursor to handle the returned
// recordset
$res = OCINewCursor($conn);
// bind the new cursor with the trades variable
// returned from the stored procedure
ocibindbyname($cur,"trades",&$res,-1,OCI_B_CURSOR);
// execute the cursor
ociexecute($cur);
// execute the return value
ociexecute($res);
// this will hold the number of rows returned
$data_rows = 0;
// just a counter for the loop
$i=0;
// add another row to the data returned from the
// database which will hold it's number
$data[0][ROWNUM] = 1;
// do a loop to fetch all data
while(ocifetchinto($res,&$data[$i],OCI_ASSOC+OCI_RETURN_NULLS)){
$data[$i][NUM] = $i+1;
$i++;
}//End while
$data_rows = $i;
// The loop has finished
//
// now in $data you have a 2 dimentional array holding all
// which the cursor is returning plus an extra row [NUM]
// which will hold the row number of each value
// to traverce the data just do
//
// for($i=0;$i<$data_rows;$i++)
// echo "ROW $i<br>\n"
// while(list($key, $val) = each($data[$i]))
// echo "$key => $val <br>\n";
}//End method