我要做的是从数据库创建一个日历对象数组。
我正在寻找的结果是这样的:
array(
array(
'id' => 111,
'title' => "Event3",
'start' => "$year-$month-10",
'url' => "http://example.com/"
),
array(
'id' => 222,
'title' => "Event2",
'start' => "$year-$month-20",
'end' => "$year-$month-22",
'url' => "http://example.com/"
)
)
我需要正确的代码,它将从每个数据库记录生成一个子数组。生成数组后,我将json_encode
它。
请注意,变量$year
和$month
将从我的代码的其他部分提供。
答案 0 :(得分:1)
你尝试过这样的事吗?:
$mysqli = new mysqli ( 'Host', 'User', 'Pass', 'dB');
$myq = $mysqli ->query ( 'SELECT field1, field2, field3 FROM table' );
$arr_result = array();
while ( $myr = $myq->fetch_assoc () ) {
$array = array(
'field1' => $myr['field1'],
'field2' => $myr['field2'],
'field3' => $myr['field3'],
);
$arr_result[] = $array;
}
echo json_encode($arr_result);
答案 1 :(得分:0)
如果只有json_encode()
位失败,可能是由于字符编码问题。 json_encode()
函数要求所有字符串成员都是有效的 UTF8 字符串。来自json_encode()
documentation:
此功能仅适用于UTF-8编码数据。
如果您的相关数据库对象不是UTF8,您将看到函数调用失败。