Harald: Threadmenge

Hallo @ all,

Ich habe schon vor längerem ein kleines Forum programmiert, welches unter http://forum.ScienceSource.info zu finden ist, doch habe jetzt einen kleinen Fehler entdeckt.
Sieht man sich in der Baumansicht -> Die letzten Threads anzeigen (ganz unten) die Threads von 15-30 an, so werden 17 Threads ausgegeben!?
Ich dachte vielleicht an eine Falsche Zahl, die an die Datenbankabfrage übergeben wird, daher momentan neben dem Feld die momentan ausgegebenen Threads, doch auch hier, 15-30.
Damit kann es nur an der MySQL-Datenbankabfrage liegen, ich wüsste allerdings auch nicht wieso, der hierfür wesentliche Teil des mysql_query-Elements sieht wie folgt aus (bei der Ausgabe der 2 Zahlen neben dem auswahlfeld handelt es sich um die 2 Variablen):

WHERE PID = 0 ORDER BY ID DESC LIMIT $beginn, $ende

Ich hoffe ihr habt eine Idee, und könnt mir weiterhelfen, sonderbar finde ich auch, wie unschwer im Forum zu erkennen, die erste Seite funktioniert einwandfrei.

---------------
Mfg: Harry

  1. Hallo,

    Sieht man sich in der Baumansicht -> Die letzten Threads anzeigen (ganz unten) die Threads von 15-30 an, so werden 17 Threads ausgegeben!?
    Ich dachte vielleicht an eine Falsche Zahl, die an die Datenbankabfrage übergeben wird, daher momentan neben dem Feld die momentan ausgegebenen Threads, doch auch hier, 15-30.
    Damit kann es nur an der MySQL-Datenbankabfrage liegen, ich wüsste allerdings auch nicht wieso, der hierfür wesentliche Teil des mysql_query-Elements sieht wie folgt aus (bei der Ausgabe der 2 Zahlen neben dem auswahlfeld handelt es sich um die 2 Variablen):

    WHERE PID = 0 ORDER BY ID DESC LIMIT $beginn, $ende

    http://www.mysql.de/doc/de/SELECT.html

    Die LIMIT-Klausel wird benutzt, um die Anzahl von Zeilen, die vom SELECT-Statement zurückgegeben werden, zu beschränken. LIMIT erwartet ein oder zwei numerische Argumente. Wenn zwei Argumente angegeben sind, legt das erste den Offset der ersten Zeile fest, die zurückgegeben wird, und das zweite gibt die maximale Anzahl von Zeilen an, die zurückgegeben werden. Der Offset der anfänglichen Zeile ist 0 (nicht 1):
    mysql> select * from tabelle LIMIT 5,10;  # Zeilen 6 bis 15 zurückgeben

    Deine Variablen heißen falsch.

    WHERE PID = 0 ORDER BY ID DESC LIMIT $beginn, $ende

    sollte heißen:
    ...WHERE PID = 0 ORDER BY ID DESC LIMIT $beginn, $anzahl
    Wenn $beginn = 15 und $anzahl = 30, dann werden maximal 30 Datensätze, beginnend mit dem 16. Datensatz ausgegeben.

    viele Grüße

    Axel