Norman: Ergebniss zählen trotz LIMIT ??

Hi,

ich habe eine Abfrage deren mengenmäßiges Ergebnis ich gerne wüßte. Leider macht mir dabei das LIMIT ein Problem:

$sql = "select * from table where blablabla order by '$sortiert_nach' LIMIT $limit1, $limit";

Diese Abfrage muß so sein, weil ich das Ergebnis seitenweise ausgeben lasse. Dann baer bekomme ich über
$Anzahl_rows = mysql_num_rows($result); nur die Ergebnisse bis zum Limit gezählt.

Ich habe mir nun mit einer 2. Abfrage beholfen:

$sql_menge = "select * from table where blablabla";
...
$Anzahl_rows = mysql_num_rows($result_menge);

Geht das nicht etwas effizienter, als so??

Grüße, Norman

  1. Hallo Norman!

    Das hier könnte dir helfen: http://dev.mysql.com/doc/mysql/de/Counting_rows.html

    Gruß

    Matthias

    --
    ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
    http://www.makaio.de/quotations
    1. yo,

      Das hier könnte dir helfen: http://dev.mysql.com/doc/mysql/de/Counting_rows.html

      ich bezweifel mal, dass ihm das weiter helfen wird. schließlich will er ja nicht gruppieren, was er aber muss, um neben einer aggregat-funktion auch "normale" daten zu bekommen. ich denke mal, in dem falle sind zwei abfragen der beste weg. nicht alles, was man auch mit einer machen kann muss automatisch auch besser sein.

      Ilja

    2. Hallo Norman!

      Das hier könnte dir helfen: http://dev.mysql.com/doc/mysql/de/Counting_rows.html

      Gruß

      Matthias

      Hm, auch schon dran gedacht. Aber da mysql ja dafür genau die gleichen Vergleichsoperationen in den unzähligen where-clauseln durchführen muß, frag ich mich, ob das wirklich effektiver ist, als meine Behelfslösung...

      Grüße

      Norman

  2. yo,

    Geht das nicht etwas effizienter, als so??

    mach die zweite abfrage beim ersten aufruf der seite und übergebe die anzahl beim blättern immer mit. dann brauchst du die abfrage nach der gesamtanzahl nur einmal machen.

    Ilja