[转载]多维数组与Json格式的转化

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:49   2614   0

php数据库数据转换为js中的json对象

直接上代码了.
都有详细的注释 在

有兴趣的朋友可以测试,测试…希望和大家更好的交流学习

<?php
/
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>

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP