Frage

Ich versuche, eine Liste von Filmkritiken in chronologischer Reihenfolge zu sortieren. Wir haben zwei Möglichkeiten, die Benutzer aus, chronologisch und alphabetisch wählen können. Die Seite standardmäßig alphabetisch, aber wenn die Leute klicken Sie auf die chronologische Option, passiert nichts.

Hier ist der Code, den wir jetzt haben:

// category 3 is 'reviews', category 12 is 'dvd reviews'
                if (($GLOBALS["CategoryId"] == 3 || $GLOBALS["CategoryId"] == 12) && !isset($_GET['unsort']))
                {
                    $output = AL_HELPER::GetArticles($articleResult);
                }
                else
                {
                    $output = AL_HELPER::GetArticlesABC($articleResult);
                }

Was ich tat, war Flip-Flop die beiden ifs. Putting GetArticles erste und GetArticlesABC zweit- was bedeutet, es sah wie folgt aus:

// category 3 is 'reviews', category 12 is 'dvd reviews'
                if (($GLOBALS["CategoryId"] == 3 || $GLOBALS["CategoryId"] == 12) && !isset($_GET['unsort']))
                {
                    $output = AL_HELPER::GetArticlesABC($articleResult);
                }
                else
                {
                    $output = AL_HELPER::GetArticles($articleResult);
                }

Es hat in der Tat Art, die in chronologischer Reihenfolge Kritiken, aber es nahm alle der alphabetischen Optionen. Im Grunde war es eine lange Liste von chronologischen Bewertungen. So offensichtlich das ist nicht das, was wir wollen.

Wer weiß, wie die Anzahl der Elemente zu begrenzen, die es auf der Seite aufgelistet? Oder vielleicht ein ganz anderer Ansatz ist hier erforderlich, wenn ja, irgendwelche Vorschläge?

War es hilfreich?

Lösung

Die Begrenzung der Anzahl der Ergebnisse pro Seite, wenn ein Backend-Datenbank und SQL ist so einfach wie die LIMIT-Operator nur eine bestimmte Anzahl von Ergebnissen abzurufen. Sie können dann nächste / vorherige Operationen implementieren, indem eine Variable zwischen den Seiten vorbei, die mit dem Satz von Ergebnissen beziehen Sie gezogen haben.

Zum Beispiel:

SELECT <Whatever> FROM <review table> LIMIT 0,10

Wird die ersten 10 Ergebnisse abgerufen werden.

SELECT <Whatever> FROM <review table> LIMIT 10,20

wird der nächste 10. Abrufen der mit Variablen Durch Ersetzen Sie Paginierung erreichen können:

SELECT <Whatever> FROM <review table> LIMIT resultIndex,resultIndex+10
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top