我必须将指定的mysql表列的所有值放入json_encode
$fromdate = $_GET['fromdate'];
$getrezhiredh = safe_query("
SELECT rezhour FROM rezhiredhours
WHERE rezdate = '".$fromdate."' ORDER BY rezhour
");
$rows = array();
while($r = mysql_fetch_assoc($getrezhiredh)) {
$rows[] = $r;
}
print json_encode($rows);
对于上面的代码,我有一个问题。只有当表中有一行包含选定的数据时,此代码才会返回结果。在这种情况下,json_encode()的结果是
〔{"rezhour":"1"}〕
但是,当表中有多行包含选定的数据时,结果除了之外什么都不返回
[]
如何将从表中选择的所有值放入json_encode()?
编辑:
我只是想知道,为什么当我们在表中有更多的行和选定的数据时,结果并没有给出下面的示例
[{"rezhour":{[0]=>"1",[1]=>"4"}]
结果我们有了"[]"
提前谢谢。
尝试更改
mysql_fetch_assoc($getrezhiredh)
至
mysql_fetch_object($getrezhiredh)
mysql_fetch_assoc
的结果与您想象的不同。每一行或多或少都是这样的:
array(1)
"rezhour" => "1"
所以你访问数据是这样的:
while($r = mysql_fetch_assoc($getrezhiredh)) {
$rows[] = $r["rezhour"];
}