2011-01-05 2 views
0

Nun, ich habe das IRC ohne Glück gefunden, habe das Nachrichtenforum ohne Glück versucht. Ich werde dem alten Gläubigen StackOverflow eine Chance geben.Probleme mit dem Query-Modul von Expression Engine bei Verwendung der Limit-Klausel

Ich verwende ExpressionEngine 2.1 und mit dem Abfrage-Modul eine Mitgliederliste zu generieren. Die Mitgliederliste ist ziemlich groß und ich möchte sie paginieren. Nach der docs verwende ich meine Limit-Klausel außerhalb meiner SQL-Anweisung.

Hier ist die Abfrage:

{exp:query sql="SELECT * FROM exp_members WHERE group_id=5 OR group_id=7 OR group_id=8 OR group_id=9 OR group_id=10 OR group_id=11 OR group_id=12" limit="10" paginate="bottom"} 

Die Seite versucht nach wie vor, alle Mitglieder zu greifen, wird aufgehängt, und zeigt die außerhalb des Speicherfehler. Wenn ich die Limit-Klausel in der SQL-Anweisung fest codiere, wird sie wie erwartet zurückgegeben, aber dann verliere ich die Seitennummerierung. Versuche, keinen neuen Paginierungscode zu schreiben.

Wer erlebt das und hat eine Lösung, oder irgendwelche Ideen?

Antwort

0

Nun, wie ich verstehe, die "Limit" -Funktion auf das Abfrage-Tag beschränkt nicht Ihre Ergebnismenge, deshalb wird die Seite aufgelegt. Die Begrenzungsfunktion legt fest, wie viele Ergebnisse auf einer Seite angezeigt werden, wenn die Seitennummerierung verwendet wird. Sie müssen das Limit für die Abfrage verwenden, was Sie wollen. Hoffe, dass diese Information hilft.

1

Versuchen Sie, den Operator IN zu verwenden und nur die Felder auszuwählen, die Sie anstelle eines Platzhalters benötigen.

{exp:query limit="10" paginate="bottom" sql="SELECT member_id, screen_name FROM exp_members WHERE group_id IN (5, 7, 8, 9, 10, 11, 12)"}