Ива*_*вац 0 javascript php jquery
我试图从MySQL表中获取有2列,温度和值的数据.我想将这些值存储到JSON,然后传递给客户端脚本.我的PHP代码是:database2json.php:
<?php
$con = mysql_connect("localhost", "root", "123456");
if (!$con) {
die('Could not connect:' . mysql_error());
}
mysql_select_db("klima", $con);
$result = mysql_query("select Dan, Temperatura from TEMPERATURA");
$niz = array();
while ($row = mysql_fetch_array($result)) {
$niz[$row['Dan']] = $row['Temperatura'];
}
mysql_close($con);
$obj = json_encode($niz);
echo $obj;
?>
Run Code Online (Sandbox Code Playgroud)
当我在服务器上运行此文件时,我得到:
{"1":"-1","2":"0","3":"0","4":"0","5":"4","6":"5","7":"3","8":"2","9":"2","10":"1","11":"-2","12":"-2","13":"0","14":"1","15":"-2","16":"-1","17":"-1","18":"-2","19":"-1","20":"3","21":"-1","22":"0","23":"1","24":"3","25":"1","26":"1","27":"-1","28":"-1","29":"4","30":"5","31":"5"}
Run Code Online (Sandbox Code Playgroud)
这是预期的.
Html没什么特别的.
index.html的:
<html>
<head>
<title>jQuery</title>
<script src="jquery.js" type="text/javascript"></script>
<script src="custom.js" type="text/javascript"></script>
</head>
<body>
<div id="id1"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
现在我从jQuery调用php并显示这些值.
custom.js:
$(document).ready(function(){
$.post('database2json.php', function(data){
$('#id1').html(data);
},
"json");
});
Run Code Online (Sandbox Code Playgroud)
这也提供了像php一样的输出:
{ "1": " - 1", "2": "0", "3": "0", "4": "0", "5": "4", "6": "5", "7": "3", "8": "2", "9": "2", "10": "1", "11": " - 2", "12": " - 2", "13": "0", "14": "1", "15": " - 2", "16": " - 1", "17": " - 1", "18":" - 2 " "19": " - 1", "20": "3", "21": " - 1", "22": "0", "23": "1", "24":" 3 " "25": "1", "26": "1", "27": " - 1", "28": " - 1", "29": "4", "30":" 5 ", "31": "5"}
现在我不知道如何将其转换为[Dan,Temperatura]的数组.我需要这个数组转发图表和绘图数据(我不是要求绘图,只是为了得到数组).
怎么做到这一点?
你的输出
{"1":"-1","2":"0","3":"0",...,"31":"5"}
Run Code Online (Sandbox Code Playgroud)
是当前形式的JavaScript对象.您可以简单地访问它:
alert(data["1"]);
// -1
alert(data["31"]);
// 5
Run Code Online (Sandbox Code Playgroud)
请注意,对象文字的常用语法是点符号: object.propertyname
,但这对于像1-31索引这样的数字属性名称不起作用.因此,您可以使用括号中的属性名称data["1"]
.
如果您真的需要它作为索引数组,您可以将其转换为:
var array = [];
for (key in data) {
array[key] = data[key];
}
// Now array is an Array with similar structure to the object data
Run Code Online (Sandbox Code Playgroud)
还有另一种可能直接从PHP获取这些数据作为正确的数组.您可以将输出包装在另一个数组中,如下所示:
// Wrap the array in another array indexed as niz
$obj = json_encode(array("niz" => $niz));
echo $obj;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
182 次 |
最近记录: |