有些愚蠢的问题,我敢肯定,我确实需要答案。
我正在做这个简短的学习项目,我需要让数据库输出一些JSON。
我确实知道如何构造表格,但由于我的历史很短,我还没弄清楚如何处理表格单元格中的对象数组(在本例中,是pointsOfInterest和events)。我应该为它们制作单独的表格,并以某种方式为每个表格提供单独的表格吗?我如何在php中处理它们?
TL:DR;我应该如何构建我的数据库以允许像这样的JSON输出?:
{id: 'oyafestivalen',
displayName: 'Øyafestivalen 2011',
description: 'Music festival in Middelalderparken, Oslo',
pointsOfInterest: [
{id: 'sjosiden',
displayName: 'Sjøsiden',
lat: 59.904453,
lng: 10.762905},
{id: 'vika',
displayName: 'Vika',
lat: 59.906086,
lng: 10.763276},
{type: 'wc', // type is optional, defaults to 'venue'
// displayName optional, not specified here
lat: 59.903625,
lng: 10.763276},
{type: 'firstaid',
lat: 59.903625,
lng: 10.763276},
{type: 'entrance',
lat: 59.903625,
lng: 10.763276},
{type: 'exit',
lat: 59.903625,
lng: 10.763276},
{type: 'camping',
lat: 59.903625,
lng: 10.763276},
{type: 'food',
displayName: 'Random restaurant name',
description: 'They serve good food. Vegetarian-friendly',
lat: 59.903625,
lng: 10.763276},
{type: 'drinks',
displayName: 'Random bar name',
lat: 59.903625,
lng: 10.763029}
],
events: [
{displayName: 'Kyuss Lives!',
venue: 'sjosiden',
startDateTime: '2011-08-13T19:30',
endDateTime: '2011-08-13T21:00',
tags: ['rock', 'stoner']},
{displayName: 'Givers',
description: 'Givers are an indie pop group from Lafayette, Louisiana. The band is made up of...',
venue: 'vika',
// Default one hour duration if no endTime
startDateTime: '2011-08-13T18:05',
tags: ['pop', 'indie']}
]
答案 0 :(得分:0)
我不可能告诉你表格的结构,也不能告诉你为获得输出而需要执行的确切查询,但我可以告诉你:
您无法从SQL查询中生成此类输出。但是,您可以使用多个查询构造此类输出,并使用PHP操作其输出以构建多维数组。例如,pointsOfInterest的内容应该是单独的查询。为了帮助您获得所需的输出,请在PHP中使用print_r()
来检查数组的运行方式。获得所需内容后,使用json_encode()
将数组转换为PHP中的json字符串。