PHP 提取数据库数据并转化为二维 json 的方法

举报
崔庆才丨静觅 发表于 2021/05/22 02:03:25 2021/05/22
【摘要】 1 首先贴一段示例代码: 1234567891011121314151617 <?phpinclude "con_db.php";//连接数据库$sql="select * from note order by note_date desc limit ".($index*10).",10"; //sql语句 $result=mysql_qu...
1
首先贴一段示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include "con_db.php";//连接数据库
$sql="select * from note order by note_date desc limit ".($index*10).",10"; //sql语句
$result=mysql_query($sql);//获得结果
$note;$i=0; //初始化变量
while($infor=mysql_fetch_array($result))
{
//把结果放到一个一维数组里
$note["id"]=$infor['note_id'];
$note["content"]=$infor['note_content'];
$note["date"]=$infor['note_date'];
$note["username"]=$infor['username'];
//放到二维数组里
$notes[$i++]=$note;
}
echo json_encode($notes );
?>

输出结果:

1
2
3
[{"id":"12","content":"u662f","date":"2014-05-24 09:31:52","username":"u532f"},
{"id":"31","content":"u642f","date":"2014-05-24 09:31:49","username":"u322f"},
{"id":"70","content":"u692f","date":"2014-05-24 09:31:48","username":"u132f"}]

你会发现应该输出的汉字变成了 unicode 字符集.

这时我们就要用到 urlencode 的方法,把汉字用 urlencode 方法编码,转化为 json 之后再用 urldecode 解码。看如下例子:

1
2
3
4
5
6
<?php
$h =urlencode("开心");
echo $h;
$x =urldecode($h);
echo $x;
?>

输出结果:

1
%BF%AA%D0%C4开心

这样通过中间过程的编码和解码,转化成 json 的过程便不会自动把汉字变成 Unicode 字符集了。所以最后的方法为:

1
2
3
4
5
6
7
8
9
10
11
<?php
while($infor=mysql_fetch_array($re))
{
$note["id"]=$infor['note_id'];//数字不需要编码
$note["content"]=urlencode($infor['note_content']);//汉字需要编码
$note["date"]=$infor['note_date'];
$note["username"]=urlencode($infor['username']);
$notes[$i++]=$note;
}
echo urldecode(json_encode($notes ));//转化成json之后再用urldecode解码为汉字
?>

结果如下:

1
2
3
[{"id":"22","content":"文章","date":"2014-05-24 09:31:52","username":"王"},
{"id":"21","content":"内容","date":"2014-05-24 09:31:49","username":"李"},
{"id":"20","content":"可以","date":"2014-05-24 09:31:48","username":"冯"}]

这样我们就成功地把二维数组转化成了 json 了.

如有问题,请在下方评论,我会及时回复的.

文章来源: cuiqingcai.com,作者:崔庆才,版权归原作者所有,如需转载,请联系作者。

原文链接:cuiqingcai.com/27.html

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。