Das ist zwar nicht ganz das, was ich gerne gehabt hätte, aber immerhin kann man im Normalfall (DAU gibt keine unsinnige Seitennummer ein) auf den sehr zeitintensiven Query verzichten und diesen nur dann ausführen, falls das nötig ist (FOUND_ROWS() == 0).
Das ist falsch, FOUND_ROWS gibt dir nicht an wieviele Zeilen deine Abfrage hat, sondern wieviele Zeilen deine Abfrage ohne LIMIT hätte.
Was du meinst ist die Anzahl der Zeilen deiner Abfrage, die kann man ohne Probleme ermitteln (ich kann kein PHP, aber es gibt eine Funktion mysql_rows() oder so ähnlich) ausserdem wird die Schleife mit der du die Daten abfragst in dem Falle nicht ausgeführt, da die abfrage bei rows=0 leer ist.
du kannst mit FOUND_ROWS() ohne die Abfrage erneut auszuführen, die Anzahl der tasächlichen Zeilen deiner Abfrage ermitteln um damit eine "Blätternfunktion" umzusetzen.
Struppi.
Javascript ist toll (Perl auch!)