Wegen dem edit: halb so wild

Ich hatte schon vor Deinem edit geantwortet bzw. getippt, hat sich also überschnitten.
mad-manne hat geschrieben:
Dann würde ich folgendes vorschlagen ...
Frage zunächst alle Datensätze ab, die deiner ersten Bedingung entsprechen.
Dann gehst du in einer Schleife das Ergebniss durch und prüfst bei jedem Datensatz auf die zweite Bedingung und ermittelst so deine gewünschet Summe!
Deine Idee mit der Schleife ist an sich richtig, aber im konkreten Fall wird das aus folgendem Grund nicht gehen:
Zunächst, ich hatte das ganze sehr vereinfacht dargestellt. Es sieht in dem Script so aus:
Nach etlichem anderen kommt die (hier zweifache) sql-Abfrage (in Wirklichkeit sind es zehn verschiedene sql-Abfragen, jeweils abhängig von Bedingungen in einem if-Konstrukt):
Code: Alles auswählen
$result=mysql_query("SELECT * FROM meinetabelle WHERE userid = -1 AND " . areyouabot(browser, TRUE) . " = 0 ORDER BY id DESC LIMIT $start,$ErgebnisseProSeite");
$sql = "SELECT count(*) AS total FROM meinetabelle WHERE userid = -1 AND " . areyouabot(browser, TRUE) . " = 0";
Aus dem "LIMIT $start,$ErgebnisseProSeite" siehst Du, daß es auch um eine Paginierung geht.
Ich verwende hierzu die foreninterne Funktion, die sich auch reibungsfrei einbinden läßt. Die Paginierung erfolgt, wie beim Forum, oben und unten. "Oben" bedeutet, schon
bevor die einzelnen Datensätze ausgegeben werden.
Nach der sql-Abfrage kommt daher als erstes die Ausgabe der Paginierung oben.
DANN ERST werden die Ergebnisse von $result in einer while-Schleife durchlaufen und die Datensätze zeilenweise ausgegeben. Dann aber ist es zu spät, den richtigen Wert für die Paginierung oben zu ermitteln. Daher bin ich darauf angewiesen, die Werte bereits
innerhalb der sql-Abfrage abschließend zu filtern.