我不知道这是否是一个正确的标题。我需要从mysql将一些数据导出为json格式。我有一个表,其中包含id,recommendedData,level,room。我的.php文件有一些代码:
<?php
$DB_HostName = "";
$DB_Name = "";
$DB_User = "";
$DB_Pass = "";
$DB_Table = "";
$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die(mysql_error());
mysql_select_db($DB_Name,$con) or die(mysql_error());
$query = "SELECT max(id),recommendData,room,level FROM $DB_Table";
$res = mysql_query($query,$con) or die(mysql_error());
mysql_close($con);
$rows = array();
while ($r = mysql_fetch_assoc($res))
{
$row[] = $r;
}
echo json_encode($row);
?>
我上面所做的是从最大ID获取数据。这是json输出:
[ { "level" : "2",
"max(id)" : "3",
"recommendData" : "8",
"room" : "4F"
} ]
如您所见,max(id)与其他数据的数据混合在一起。我要做的就是把max(id)作为这些数据的标题,有点像这样:
{"max(id)" :[ { "level" : "2",
"recommendData" : "8",
"room" : "4F"
} ]}
谁能告诉我怎么做?
答案 0 :(得分:1)
在while
循环中,您可以手动设置输出数组:
while ($r = mysql_fetch_assoc($res))
{
$row[$r["max(id)"]] = array(
"level" => $r["level"],
"recommendData" => $r["recommendData"],
"room" => $r["room"]
);
}
希望这有帮助!