2010-12-20 83 views
1

我有一個類似Facebook的新聞源的新聞源。從MySQL獲取JSON數據樹

這意味着我需要得到不是「直線」行& cols來自MySQL的數據集,但更像是具有不同長度分支(和不同內容)的數據的「樹」。

如果我直行,最終會在PHP中產生大量的嵌套循環 - 因爲每種類型的新聞都需要不同的數據集。新聞源的

例如: 1)用戶 「A」 增加了2個新的圖像(在這裏我得USER_NAME,user_avatar,image_path_1,image_path_2等) 2)用戶 「B」 曾評論的用戶的 「A」圖像(在這裏我需要用戶的「B」名稱,用戶的「B」頭像,image_path,comment_text,用戶的「A」名稱等)

明白我的意思?

所以我想要做的是從MySQL存儲過程中獲取數據轉換爲JSON格式。

{"news": 
      [ 
       {news_type: "new_images", user_name: "john", user_avatar: "0002.jpg", image_path: "/images/00123.jpg"} 
       {news_type: "comment", user_name: "john", user_avatar: "0002.jpg", comment: "hello!"} 
      ] 
     } 

我可以做的「CONCAT」和「GROUP_CONCAT」在MySQL這個轉換...我只是想問問你的意見,如果這是一個好主意或沒有 - 如果沒有的話有什麼更好的辦法。

感謝您的幫助!

UPDATE 所以最後我切換到MongoDB的:)

+0

太難? ))//// – oyatek 2010-12-21 09:27:51

回答

3

這種做法並不明智。您應該只使用數據庫服務器進行數據庫工作。

如果您只是將它傳遞給一個關聯數組,那麼PHP將自動爲您使用json_encode()進行所有JSON編碼。沒有意義重新發明輪子或讓你的數據庫服務器陷入困境。

0

雖然有一個流輸出類型會很方便:少解組/編組。如果你需要支持PHP和Java的消費者更多的數據處理。看起來,連接一個輸出流並調用一個存儲過程的工作似乎很少。