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

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值