Javascript 从mySql数据库返回php格式的JSON
我的数据库中有以下数据: 我希望日期采用JSON格式,如下所示:Javascript 从mySql数据库返回php格式的JSON,javascript,php,mysql,arrays,json,Javascript,Php,Mysql,Arrays,Json,我的数据库中有以下数据: 我希望日期采用JSON格式,如下所示: { "labels": ["12.11.2016", "13.11.2016", "14.11.2016", ...], "temperature": ["12", "35", "27", ...], "humidity": ["56", "70", "87", ...] } 我目前的代码是: $conn = new PDO("mysql:host=$servername;dbname=$dbname"
{
"labels": ["12.11.2016", "13.11.2016", "14.11.2016", ...],
"temperature": ["12", "35", "27", ...],
"humidity": ["56", "70", "87", ...]
}
我目前的代码是:
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
//Select the requested data
$sql = "SELECT date, temperature, humidity FROM `TestData` ORDER BY date ASC ";
$statement = $conn->prepare($sql);
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
//Values returned for JavaScript
$labels = array();
$temperature = array();
$humidity = array();
$data = array();
foreach ($result as $row)
{
array_push($labels, $row['date'] );
array_push($temperature, $row['temperature']);
array_push($humidity, $row['humidity']);
}
$result = null;
//Load data in one single array
$data['labels'] = $labels;
$data['temperature'] = $temperature;
$data['humidity'] = $humidity;
//echo $data;
//echo json_encode($labels , JSON_FORCE_OBJECT);
echo json_encode($data);
但这只给了我以下几点:
这里有人有主意吗?即使我已经在互联网上搜索了5个小时,我也无法让它工作://获取的输出是一个键到值对。键是行号 此外,您的列名似乎是您发布的var转储文件中的大写字母 尝试以下操作以正确获取值:
foreach ($result as $key => $row)
{
array_push($labels, $row['DATE'] );
array_push($temperature, $row['TEMPERATURE']);
array_push($humidity, $row['HUMIDITY']);
}
提取的输出是一个键到值对。键是行号 此外,您的列名似乎是您发布的var转储文件中的大写字母 尝试以下操作以正确获取值:
foreach ($result as $key => $row)
{
array_push($labels, $row['DATE'] );
array_push($temperature, $row['TEMPERATURE']);
array_push($humidity, $row['HUMIDITY']);
}
尝试:
由于$conn->setAttribute(PDO::ATTR_case,PDO::case_upper),看起来所有列名都是大写的代码>尝试:
由于$conn->setAttribute(PDO::ATTR_case,PDO::case_upper),看起来所有列名都是大写的
$result的输出是什么<代码>变量转储($result)
输出是$result的输出吗<代码>变量转储($result)输出为Nope,仍然给我那些空值<代码>foreach($result as$key=>$row)或foreach($result as$key)
在这种情况下并不重要。是的,我也意识到了这一点,大写字母的问题现在也是正确的答案。。。我无法检查其中的两个:(@FranzHuber23 Shawn是第一个:)不,仍然给我那些空值<代码>foreach($result as$key=>$row)或foreach($result as$key)
在这种情况下并不重要。是的,我也意识到了这一点,大写字母的问题现在也是正确的答案。。。我无法检查其中的两个:(@FranzHuber23 Shawn是第一个:)哈哈,WTF。。。这对我很有效:D好的,谢谢你@Shawn。结果现在是正确的格式:)这背后到底是什么问题?你能给我解释一下吗。我不认为,我对我的专栏使用了大写的描述…:/实际上是这一行:$conn->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER)代码>啊,f*ck,是的。。。再也没想过这个了:/哈哈,WTF。。。这对我很有效:D好的,谢谢你@Shawn。结果现在是正确的格式:)这背后到底是什么问题?你能给我解释一下吗。我不认为,我对我的专栏使用了大写的描述…:/实际上是这一行:$conn->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER)代码>啊,f*ck,是的。。。我再也没想过这个了:/