2010-05-29 130 views
1

好的,所以我剛剛(幾乎)完成了我的第一個小php腳本。基本上它只處理表單。它會將用戶放入表單字段的任何內容寫入文本文件,然後將該文本文件包含在我設置的小頁面的索引中。在PHP中排序列表

所以,目前它寫入文本文件的開始(但不覆蓋以前的數據)。但是,一些用戶希望這個列表按字母順序排序。所以我想要做的是按字母順序將所提交的內容填入列表中。

這裏的東西也是我在文本文件中使用的都是div。該列表基本上被分爲三部分。 '標題','鏈接'和'海報'。我所做的一切都是用css定位的。因此,我可以按字母順序排列這個列表(標題,在這種情況下),並且仍然按照他們已有的方式分配「鏈接」和「海報」信息,但只是將標題排序?

它根本沒有在我的網站上使用數據庫,所以在這個腳本中根本沒有數據庫處理(主要是因爲我在這方面沒有經驗)。

+3

用戶正在使用這個?投資於數據庫。 – Kevin 2010-05-29 21:38:59

+1

是的,這是可能的,儘管您需要在文件中使用某種分隔符來分隔不同的條目。我也建議獲得一些數據庫的基本經驗。 :)如果所有內容都插入到表中的一組行中,那麼您可以用各種方式對其進行排序,而無需編寫大量代碼。 – 2010-05-29 21:42:47

+0

所以我真的應該投資一個數據庫,對吧?只使用文本文檔和數據庫有什麼區別(除了做我想要的東西)?因爲凱文的評論我在問。 感謝您的答案! – Andy 2010-05-29 22:26:31

回答

0

如果你真的不想使用一個數據庫,甚至是一個文件數據庫(如SQLite的),你可以組等三個領域使用分離器_和排序這個單場列表

+0

但是,真的,使用數據庫會讓你的生活更容易 – nico 2010-05-29 22:23:02

3

我也建議將數據存儲在文件中,如XMLJSON。 PHP可以很容易地對記錄進行排序,並在排序將在文件中時被讀回的數據進行保存。

例如

file_put_contents("/tmp/datafile",json_encode($recordset)); 

$recordset = json_decode(file_get_contents("/tmp/datafile")); 

讀取文件時回編輯

但嚴重的是,如果你有客戶,並收取他們的經驗和時間,使用數據庫,再有很多了(一些已經提到)

  • MySQL的
  • sqlite的
  • PostgreSQL的
  • 甲骨文
  • MSSQL
0

如果這是一些朋友的一個小項目或一些東西和文件不應該超過幾百行,你正在尋找的功能是「文件」和「usort」。

如果你確定每一行都在它自己的行上,你可以用「file」將行加載到一個數組中。您可以使用函數對數組進行排序,以將項與「usort」函數進行比較。