2012-04-13 15 views
0

Ich mache eine Suchanwendung, und ich möchte herausfinden, wie viele Ergebnisse eine bestimmte Abfrage abruft, um zu berechnen, wie viele Seiten der Ergebnisse gibt. Ich habe im Grunde:Erhalten Gesamtanzahl der Zeilen treffen WHERE Bedingung

mysql_query("SELECT * FROM table WHERE conditions LIMIT $page*$items, $items"); 

Habe ich eine Abfrage w/o der limit-Klausel zu tun haben, die Gesamtzahl zu bekommen, oder gibt es einen besseren Weg? Vielen Dank!

Antwort

4
SELECT COUNT (*) FROM table WHERE conditions 
+0

Ist das besser als SQL_CALC_FOUND_ROWS? – user1222728

+0

Sollte gleichwertig sein – hkf

+0

Danke, ich werde es versuchen! – user1222728

3
SELECT COUNT(*) 
    FROM table 
    WHERE conditions 
2

Ich sehe, Sie sind mit PHP. Sobald Sie die Abfrage ausgeführt haben, warum nicht mysql_num_rows in PHP? Auf diese Weise müssen Sie nicht zwei Abfragen ausführen.

+1

Ich befürworte das auch, habe das PHP-Tag nicht gesehen. – hkf

+1

Würde das mit dem Limit funktionieren? – user1222728

+0

Ja, wird es. Aber es ist einfacher für Sie, wenn Sie es selbst überprüfen als hier fragen :) –

0
$page_count=10 // no of rows per page 
$record=mysql_query("select count(*) from table where conditions"); 
$row=mysql_fetch_row[0]; 

$no_of_pages = ceil($row/$page_count); 
Verwandte Themen