2008-12-06 8 views
1

J'essaie de trier une liste de critiques de films dans l'ordre chronologique. Nous avons deux options parmi lesquelles les utilisateurs peuvent choisir, chronologique et alphabétique. La page est par défaut alphabétique, mais lorsque les gens cliquent sur l'option chronologique, rien ne se passe.Trier chronologiquement une liste d'avis

Voici le code que nous avons en ce moment:

// 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); 
       } 

Ce que je faisais était bascule les deux ifs. La mise GetArticles sens premier et deuxième GetArticlesABC il ressemblait à ceci:

// 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); 
       } 

Il a en effet sorte les commentaires par ordre chronologique, mais il a emporté toutes les options par ordre alphabétique. Essentiellement c'était une longue liste de critiques chronologiques. Donc, évidemment, ce n'est pas ce que nous voulons.

Est-ce que quelqu'un sait comment limiter le nombre d'éléments qu'il répertorie sur la page? Ou peut-être une approche complètement différente est nécessaire ici, si oui, des suggestions?

+0

Il semble que vous avez trois options: unsort, alphabétique et chronologique. Quelles fonctions font quoi ici? Indiquez également la langue que vous utilisez (par exemple, dans les tags). Quelle est votre question maintenant, de toute façon? – Svante

+0

la langue ressemble à PHP ... – genehack

+0

La langue est PHP et nous devons savoir comment limiter le nombre de critiques qui apparaissent sur chaque page ou une autre méthode pour obtenir la liste à trier par ordre chronologique. – Iwasakabukiman

Répondre

1

Limiter le nombre de résultats par page, si vous utilisez une base de données principale et SQL est aussi simple que d'utiliser l'opérateur LIMIT pour récupérer uniquement un nombre défini de résultats. Vous pouvez ensuite implémenter les opérations suivantes/précédentes en passant une variable entre les pages qui se rapporte à l'ensemble de résultats que vous avez tiré.

Par exemple:

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

récupère les 10 premiers résultats.

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

récupérera la prochaine 10. En remplaçant le nombre de variables que vous pouvez obtenir Pagination:

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

Merci, cela devrait fonctionner parfaitement. – Iwasakabukiman

Questions connexes