On Oct 12, 2008, at 6:31 PM, <[EMAIL PROTECTED]> <[EMAIL PROTECTED] 
 > wrote:

> Hi,
>    I am using the following query to get results from a mysql  
> database.
>
> $query = 'SELECT * FROM Assignments, Classes, Instructors,  
> Departments';
> $query .= ' WHERE Assignments.ClassID = Classes.ClassID';
> $query .= ' AND Classes.DepartmentID = Departments.DepartmentID';
> $query .= ' AND Classes.InstructorID = Instructors.InstructorID';
> If($departmentid != "") $query .= ' AND Departments.DepartmentID =  
> ' . $departmentid;
> if($instructorid !="") $query .= ' AND Instructors.InstructorID =  
> ' . $instructorid;
> If($orderby != "") $query .= ' ORDER BY ' . $orderby;
> $query .= ' LIMIT ' . ((0 + $page - 1) * $perpage) . ',' . $perpage;
>
> This works fine but I need to count the number of matches that would  
> have occurred if I didn't specify a LIMIT.
>
> I tried wrapping COUNT() around the whole Query string minus the  
> LIMIT and ORDER but the following errors occurred -
>
> mysql query -
> SELECT COUNT(SELECT * FROM Assignments, Classes, Instructors,  
> Departments WHERE Assignments.ClassID = Classes.ClassID AND
> Classes.DepartmentID = Departments.DepartmentID AND  
> Classes.InstructorID = Instructors.InstructorID)
>
> PHP error -
> Warning: mysql_num_rows(): supplied argument is not a valid MySQL  
> result resource in C:\wamp\www\database\assignments.php on line
> 122
>
> mysql error -
> You have an error in your SQL syntax; check the manual that  
> corresponds to your MySQL server version for the right syntax to use
> near 'SELECT * FROM Assignments, Classes, Instructors, Departments WHE
>
>
>
> In the above query I could just do 'SELECT COUNT(SELECT * FROM  
> Assignments)'
>
> But I need queries like -
> SELECT COUNT(SELECT * FROM Assignments, Classes, Instructors,  
> Departments WHERE Assignments.ClassID = Classes.ClassID AND
> Classes.DepartmentID = Departments.DepartmentID AND  
> Classes.InstructorID = Instructors.InstructorID AND  
> Departments.DepartmentID =
> 5)
>
> I am only new to mysql so any help would be much appreciated.


Try:

SELECT COUNT(*) FROM Assignments, Classes, Instructors, Departments  
WHERE Assignments.ClassID = Classes.ClassID AND
Classes.DepartmentID = Departments.DepartmentID AND  
Classes.InstructorID = Instructors.InstructorID

What gets returned is one row with one field (You have to read  
that...   calling mysql_num_rows() will return 1)




-D. Israel
[EMAIL PROTECTED]
http://www.customcodebydan.com
AIM: JudoDanIzz



[Non-text portions of this message have been removed]

Reply via email to