php输出json到表格,PHP中把数据库查询结果输出为json格式

header("Content-type:text/html;charset=utf-8");//字符编码设置

$servername = "localhost";

$username = "root";

$password = "root";

$dbname = "tjks";

// 创建连接

$con =mysqli_connect($servername, $username, $password, $dbname);

// 检测连接

$sql = "SELECT * FROM brands";

$result = mysqli_query($con,$sql);

if (!$result) {

printf("Error: %s\n", mysqli_error($con));

exit();

}

$jarr = array();

while ($rows=mysqli_fetch_array($result,MYSQL_ASSOC)){

$count=count($rows);//不能在循环语句中,由于每次删除 row数组长度都减小

for($i=0;$i

unset($rows[$i]);//删除冗余数据

}

array_push($jarr,$rows);

}

print_r($jarr);//查看数组

echo "
";

echo '


';

echo '编码后的json字符串:';

echo $str=json_encode($jarr);//将数组进行json编码

echo '
';

$arr=json_decode($str);//再进行json解码

echo '解码后的数组:';

print_r($arr);//打印解码后的数组,数据存储在对象数组中

mysqli_close($con);

?>

输出内容如下:

Array ( [id] => 1 [name] => GNC ) Array ( [id] => 2 [name] => TCBJ ) Array ( [id] => 3 [name] => TJKS )

Unicode编码后的json数据: [{"id":"1","name":"GNC"},{"id":"2","name":"TCBJ"},{"id":"3","name":"TJKS"}]

可以看到,直接进行json_encode();编码,是将三个数组分别转为了json格式,而且两端会出现中括号!!还有另外一种写法

header("Content-type:text/html;charset=utf-8");//字符编码设置

$servername = "localhost";

$username = "root";

$password = "root";

$dbname = "tjks";

// 创建连接

$con =mysqli_connect($servername, $username, $password, $dbname);

// 检测连接

$sql = "SELECT * FROM brands";

$result = mysqli_query($con,$sql);

if (!$result) {

printf("Error: %s\n", mysqli_error($con));

exit();

}

$jarr = array();

while ($rows=mysqli_fetch_array($result,MYSQL_ASSOC)){

$count=count($rows);//不能在循环语句中,由于每次删除 row数组长度都减小

for($i=0;$i

unset($rows[$i]);//删除冗余数据

}

array_push($jarr,$rows);

}

print_r($jarr);//查看数组

echo "
";

echo '


';

$jobj=new stdclass();//实例化stdclass,这是php内置的空类,可以用来传递数据,由于json_encode后的数据是以对象数组的形式存放的,

//所以我们生成的时候也要把数据存储在对象中

foreach($jarr as $key=>$value){

$jobj->$key=$value;

}

echo '传递属性后的对象:';

print_r($jobj);//打印传递属性后的对象

echo '
';

echo '编码后的json字符串:'.json_encode($jobj).'
';//打印编码后的json字符串

mysqli_close($con);

?>

输出内容如下:

Array ( [0] => Array ( [id] => 1 [name] => GNC ) [1] => Array ( [id] => 2 [name] => TCBJ ) [2] => Array ( [id] => 3 [name] => TJKS ) )

传递属性后的对象:stdClass Object ( [0] => Array ( [id] => 1 [name] => GNC ) [1] => Array ( [id] => 2 [name] => TCBJ ) [2] => Array ( [id] => 3 [name] => TJKS ) )

编码后的json字符串:{"0":{"id":"1","name":"GNC"},"1":{"id":"2","name":"TCBJ"},"2":{"id":"3","name":"TJKS"}}

这样一来,中括号没有了,数组也成为了有序的数组!

读取mysql数据库的数据,转为json格式

# coding=utf-8 ''' Created on 2016-10-26 @author: Jennifer Project:读取mysql数据库的数据,转为json格式 ''' import ...

CodeIgniter (CI)框架中的数据库查询汇总

引言: 前两天业务涉及到一个拉取答题排行榜的需求,数据库里数据是这样的: 同一个人可能提交过多次成绩,所以同一个人可能会有多次记录: 同一个人提交的多次成绩中可能有至少两次成绩是一样的. 于是,查询的 ...

C++ OCCI API数据库操作之连接、返回查询结果集为json格式

使用C++操作数据库,转换返回结果集为json格式,易于解析. 以下程序的编译.运行环境:Windows 10 1803.VS2017 17.5.2(vc14).解决方案配置:Release.解决方案 ...

PHP简单获取数据库查询结果并返回JSON

前端技术之:如何在控制台将JS class实例输出为JSON格式

有一个类: class Point { constructor(x, y) { this.x = x; this.y = y; } } 如果我们在控制台中输出其实例: console.log(new ...

网络传输中利用fastjson将复杂嵌套数据类型Json格式转换(GeoJsonPolygon)

如果一个对象太复杂了,那么在网络传输键的JSON格式数据转换容易出问题. 比如下面一个类Area.java import lombok.AllArgsConstructor; import lombo ...

获取一个表单字段中多条数据并转化为json格式

如图需要获取下面两个li标签里面的数据,然后传给后台:而后台接收的数据格式是json的,所以需要把两个li里面的信息转化为以下格式的. {recieverName:小红,recieverPhone:1 ...

在thinkphp5.0中调用ajax时, 返回的JSON 格式数据在html前台不能用时

在thinkphp5.0中调用ajax时,如果控制器返回的数据为json格式,视图层接收到返回值即为json格式的数据,此时应该把 JSON 文本转换为 JavaScript 对象,方便调用.具体代码 ...

提取url中参数的方法(转换成json格式)

还是直接上代码吧. //将url中的参数获取到并抓换成json格式 function serilizeUrl(url){ var urlObject={}; //1.正则匹配是不是以?结尾 if(/\ ...

随机推荐

C# OpenFileDialog和PictrueBox

 string resultFile = ""; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFile ...

【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户

Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...

Realm Configuration HOW-TO--官方

来源:https://secure.gettinglegaldone.com/docs/realm-howto.html Quick Start This document describes how ...

Java中equals和“==””的区别,String特殊

public class TestString { /* * java中的数据类型,可分为两类: * 1.基本数据类型,也称为原始数据类型.byte,short,char,int,long,float ...

Sending HTML Form Data

public Task PostFormData(){ // Check if the request contains multipart/fo ...

使用netty的第一个Hello World

server端 package com.netty.test;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.Cha ...

五十四、linux 编程——TCP 编程模型

54.1 编程模型介绍 54.1.1 TCP 客户端服务器编程模型 客户端调用序列 调用 socket 函数创建套接字 调用 connect 连接服务器端 调用 I/O 函数(read/write) ...

activity--常见属性总结

15.Activit的几个重要属性总结? 12.onNewIntent()使用Tips?11.launchMode的属性介绍?及其常用的Intent Flag? ==== 15.Activit的几个重 ...

VS中生成、清理项目、调试、開始运行(不调试)、Debug 和 Release等之间的差别

版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/helloUSB2010/article/details/35802437 一.生成和又一次生成 &q ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值