LIMIT-Anomalie
am 20.02.2006 17:26:18 von Stefan SchulzeGuten Tag,
ich habe ein Suchformular für eine MySQL-Tabelle erstellt.
Jedoch habe ich eine Anomalie festgestellt. Ich lasse mir Anzahl
der Datensätze zu einem Ausdruck MATCH() AGAINST() ausgegeben.
SELECT
COUNT(`nummer`)
FROM `table`
WHERE MATCH (`artikel`,`desc`)
AGAINST ('Eqwe*' IN BOOLEAN MODE)
GROUP BY `nummer`
ORDER BY `nummer` DESC;
Dabei habe ich eine auch eine Seitenanzeigenavigation eingebaut. Mit dem
URL-Parameter page lass ich das LIMIT beeiflußen,
damit pro Site nur 10 Datensätze ausgegeben werden.
Nun zu folgender MySQL-Abfrage:
SELECT
`nummer`
FROM `table`
WHERE MATCH (`artikel`,`desc`)
AGAINST ('Eqwe*' IN BOOLEAN MODE)
GROUP BY `nummer`
ORDER BY `nummer` DESC;
Ingesamt wurde 24 Datensätze gefunden.
Bei page=1 also LIMIT 0,10 =>10 Datensätze,
doch bei page=2 also LIMIT 10,20 => 14 Datensätze,
bei page=3, also LIMIT 20,30 => 4 Datensätze,
merkwürdig dabei entsprechen 4 der 14 Datesätze
von page=2 den 4 Datensätzen von page=3.
Ich habe die ganze Sache mit PHPmyAdmin mit
hagenau den gleichen SQL-Abfragen durchgeführt.
Das gleiche Ergebnis! Wo liegt der Fehler?
Ich möchte, dass nur 10 Datensätze angezeigt werden.