I am a beginner and following is my sql code.
select temp1.service_number,temp1.serial_number, temp1.start_datetime, temp1.plate_number, text , temp1.staff_id
from (select t.service_number,t.serial_number, start_datetime, plate_number, staff_id
from trip t
where t.staff_id = 3685
and start_datetime between '2012-01-01' and '2013-12-01') as temp1
left outer join
(select r.service_number, r.serial_number, r.text
from remark r) as temp2
on temp1.service_number = temp2.service_number and temp1.serial_number = temp2.serial_number;
As I run it, it returns 7 row. however, when I use that code in php,
$querytrip = "select temp1.service_number,temp1.serial_number, temp1.start_datetime, temp1.plate_number, temp2.text from (select t.service_number,t.serial_number, start_datetime, plate_number, staff_id from trip t where t.staff_id = '$staffid' and start_datetime between '$sdate' and '$edate') as temp1 left outer join (select r.service_number, r.serial_number, r.text from remark r) as temp2 on temp1.service_number = temp2.service_number and temp1.serial_number = temp2.serial_number";
$resulttrip = mysql_query($querytrip);
the count($resulttrip) returns as 1.
Please help me!
To get the number of rows, you do mysql_num_rows($resulttrip)
, not count($resulttrip)
. To iterate over each row, you use mysql_fetch_assoc
like so:
while ($result = mysql_fetch_assoc($resulttrip))
{
echo $result['service_number'];
}
You can also use mysql_fetch_array
and mysql_fetch_row
rather than mysql_fetch_assoc
,
Although you should be using the MySQL Improved Extension
or PDO
.