2008-12-06 67 views
1

我想按時間順序排列電影評論列表。我們有兩種用戶可以選擇的選項,按時間順序和字母順序。該頁面默認爲按字母順序排列,但當用戶點擊時間選項時,什麼都不會發生。按時間順序排列評論列表

這是我們現在所擁有的代碼:

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

我所做的就是觸發器兩個IFS。第一把GetArticles和GetArticlesABC二線這意味着它是這樣的:

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

它的確排序按時間順序的評論,但它帶走了所有的字母選項。從本質上來說,它是一個按時間順序排列的評論。很顯然,這不是我們想要的。

有誰知道如何限制它在頁面上列出的項目數量?或者在這裏需要一個完全不同的方法,如果有的話,有什麼建議嗎?

+0

看來你有三個選擇:不排序,按字母順序排列,並按照時間。哪些功能在這裏做什麼?此外,請告訴您正在使用的語言(例如,標籤)。無論如何,你現在的問題是什麼? – Svante 2008-12-06 00:50:45

+0

語言看起來像PHP ... – genehack 2008-12-06 16:14:49

回答

1

如果使用後端數據庫和SQL,則限制每頁結果的數量與使用LIMIT運算符僅檢索一定數量的結果一樣簡單。然後,您可以通過在與您所拖動的結果集相關的頁面之間傳遞變量來實現下一個/上一個操作。

例如:

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

將檢索前10個結果。

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

將檢索下一個10通過與變量的替代號碼就可以實現分頁:

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