php数据库数据转换为js中的json对象
直接上代码了.
都有详细的注释 在
有兴趣的朋友可以测试,测试…希望和大家更好的交流学习
/
1.在company数据user表中取出10条数据,保存为数组
2.在将数组转化为json格式,传递给js
3.用json解析器将传递过来的json字符串转化为json对象,
4.用document.write输出语句打印在页面上
*/
$conn = mysql_connect(“localhost”,”root”,”root”); //连接数据库
mysql_query(“set names utf8″); //设置编码
mysql_select_db(“company”,$conn); //选择库
$sql = “select * from user limit 10″; //在user表中查询10条数据
$res = mysql_query($sql); //执行sql语句
$arr = array();
while($row = mysql_fetch_array($res,MYSQL_ASSOC)){ //查询出来sql
$arr[] = $row; //将查询出来的结果赋给数组$arr
}
$str = json_encode($arr); //将数组转化为json格式的字符串
?>
<script src=”json_parse.js”></script> <!– 引入json解析器 –>
<table>
<tr>
<th>uid</th><th>用户名</th><th>性别</th><th>email</th>
</tr>
<script>
var jsonString = ‘<?php echo $str;?>’; //传递php中的数据给js
//document.write(jsonString);
var jsonObject = json_parse(jsonString); //将json字符串转化为js中的json对象
for(var i = 0; i < jsonObject.length; i++){ //for循环打印
document.write(“<tr>”);
document.write(“<td>”,jsonObject[i].uid,”</td>”);
document.write(“<td>”,jsonObject[i].username,”</td>”);
document.write(“<td>”,jsonObject[i].sex,”</td>”);
document.write(“<td>”,jsonObject[i].email,”</td>”);
document.write(“</tr>”);
}
</script>
</table>
//----------------------------------------------------------------------------------
我不得不承认:我是一个彻彻底底的JS白痴。但根据项目需要,不得不使用JSON,不管怎么说,经过一个晚上的学习,已经略有所成,记录下来。
PHP的JSON类库我使用的是Services_JSON,没什么特别的优点,也没什么明显的缺点,对付用足矣。
建立文件data.php:
<?php
include("JSON.php");
$data = array(
array('name' => mb_convert_encoding('老王', 'UTF-8', 'GBK'), 'age' => '28'),
array('name' => mb_convert_encoding('小黄', 'UTF-8', 'GBK'), 'age' => '27')
);
$json = new Services_JSON();
echo $json->encode($data);
?>
Javascript解析JSON我使用的是Jquery,直接使用Javascript的eval则有个地方要注意:
var myObject = eval('(' + myJSONtext + ')');
具体可查看下面的参考链接。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>demo</title>
<script type="text/javascript" src="jquery-latest.pack.js"></script>
<script>
$(function(){
$.getJSON("data.php", function(json){
for(var i = 0; i < json.length; i++)
{
alert("姓名:" + json[i].name);
alert("年龄:" + json[i].age);
}
});
});
</script>
</head>
<body>
</body>
</html>