我的表格如下:
id | title | link | kind
------------------------
1 link1 http one
4 link2 http two
2 link9 http one
我想回馈一个JSON数组(JSON解析不是问题!),它看起来像:
one
- link1, http
- link9, http
two
- link2, http
kind-colum是动态所以我不知道实际的字符串。 (但它永远不会(null)!)
我有什么:
$links = array();
while($row = mysql_fetch_object($result)) {
$link = array(
'title' => $row->title,
'link' => $row->link,
'kind' => $row->kind
);
$links[] = $link;
}
echo json_encode($links);
这是一个包含每个元素的所有列的数组。
答案 0 :(得分:0)
使用$ row-> kind作为顶级数组的索引。
$kinds = array('one' => 1, 'two' => 2, ...etc...);
$links = array();
while($row = mysql_fetch_object($result)) {
$link = array(
'title' => $row->title,
'link' => $row->link
);
$links[$kinds[$row->kind]][] = $link;
}
echo json_encode($links);
答案 1 :(得分:0)
您可以在MySQL查询中执行此操作:
SELECT CONCAT("[",
GROUP_CONCAT(
CONCAT("{".kind.":'",title ,"'"),
CONCAT(",".kind.":'",link),"'}")
)
,"]") AS json
FROM table_name;