我在数据库中有多个不同的名称,日期和菜单的样本数据......我需要使用相同的名称和日期来处理数据,但每个数据都有不同的菜单......
DATABASE
问题是我需要存储与新变量相同的名称和日期的所有菜单,因为我需要在web中调用它以获取表视图,并且表格必须如下所示:
表
我已经使用数组存储每个相同名称和日期的数据菜单,因此菜单如下所示:
我真的很困惑如何在这部分之后继续制定方法,
如何获得输出 - >糖果蛋糕奶酪,所以我可以在表中调用它(?)
我想我似乎不能在我的查询中使用concat_ws,因为值来自数组的同一个字段,或者是否有另一个解决方案所以我可以得到我需要的输出表? 谢谢:))
答案 0 :(得分:5)
您可能正在寻找MySQL GROUP_CONCAT()聚合函数:
SELECT Name, Date, GROUP_CONCAT(Menu) AS Menu
FROM Table
GROUP BY Name, Date
这将提供您的数据:
|--------|------------|-------------------| | Name | Date | Menu | |--------|------------|-------------------| | Sylvie | 2001-01-01 | Candy,Cake,Cheese | | Sylvie | 2001-02-01 | Milk,Tea | |--------|------------|-------------------|
由此您只需使用PHP explode()函数将每个菜单记录作为数组。
答案 1 :(得分:1)
使用serialize或json_encode将值存储到数据库中,并在从数据库中获取值时使用unserialize或json_decode。