2010-12-20 77 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的消费者更多的数据处理。看起来,连接一个输出流并调用一个存储过程的工作似乎很少。