2013-02-03 123 views
0

我是一個PHP新手,所以很抱歉,如果這是一個蹩腳的問題,但我真的很想知道如何解決這個問題,我不能離開我的腦海。PHP - 如何加載新聞文章?

在每個動態網站上都有諸如新聞報道和其他類型的用戶生成的特徵讓我們稱它們爲盒裝內容。如果您瀏覽頁面您可以看到有指定數量的文章顯示爲並位於頁面底部,並且有頁碼可用於顯示較舊文章的箭頭

我會對在php中製作類似於此的過程感興趣。我不在尋找現成的代碼,因爲我知道每個網站都是獨一無二的,但我想了解算法。我正在尋找解決此問題的邏輯結構

我的意思是比如我想設置頁面上顯示的新聞文章(盒裝內容)最大數量。我想我可以用循環做到這一點。對於一個頁面來說,這並不難,但如果有大約300篇文章和,我想要在第一頁顯示10個最近的頁面,然後,如果用戶點擊第二頁/下一個箭頭,我該如何解決它加載其他10篇較舊的文章等

我的理論是如果我點擊數字2頁面鏈接它發佈了一個php代碼,它改變了我們在文章加載表單中使用的mysql查詢中使用的一個變量,所以它將文章/盒裝內容從不同的起始ID(即不是0,但如果我們點擊2.頁面鏈接,則爲10;如果我們點擊3.頁面鏈接,則爲20)。循環開始並加載以下(前一篇)10篇文章。

我知道在數據庫中,我應該在獲取文章ID時向後計算,因爲最新的文章總是有最高的id,但對於解釋我認爲上面的示例更容易理解,我可以向您展示我想要的內容去做。

我的理論很有可能是完全錯誤的,但我想分享我的想法。

對不起,如果這是一個無能的問題,我將不勝感激在這個問題上的任何字。

+1

你說的話聽起來像是一個可行的方法去做到這一點。出去試試吧! – jchapa

+0

謝謝你的鼓勵我真的是一個新手,所以我首先想到了這個問題,所以我不會搞砸任何東西,但聽說它可以工作,我一定會試一試。 :) – szabolcsmolnar

回答

2

要做到這一點的方法是利用帶有2個參數的MySQL limit clause,即要檢索的起始行數和最大行數。在你的例子中,它將是limit *page_number* * 10, 10。或者,您可以在PHP中實現相同的目標,但是我建議保持操縱SQL中的數據的繁重工作。

+0

非常感謝!這正是我想要的。它真的給我控制。非常感謝你幫助我! – szabolcsmolnar

0

mysql_query(「SELECT * FROM myAritcleTableName ORDER BY primaryKeyTableName DESC」); // php代碼

+0

'mysql_query'已被取消。它不建議用於新的開發:http://php.net/manual/en/function.mysql-query.php – jchapa

+0

只是一個想法,我不是說使用它,我顯示的一般查詢 –

+0

感謝你爲你的時間coders_org,但這不是我正在尋找。謝謝jchapa指出不推薦mysql_query,直到現在我都不知道。 – szabolcsmolnar