php - 如何使用php从Mysql中提取Json数据

标签 php mysql json wamp

当前我正在使用以下代码

  <?php

// simulates result of db query for categories
$categories = array();
$categories[] = array('id' => 1, 'parent_id' => 0, 'name' => 'root');
$categories[] = array('id' => 2, 'parent_id' => 1, 'name' => 'Compact Discs');
$categories[] = array('id' => 3, 'parent_id' => 1, 'name' => 'Concert Souvenirs');

// simulates result of db query for products
$products = array();
$products[] = array('id' => 1, 'category_id' => 2, 'sku' => 'CD001', 'price'=>15.00, 'name' => 'CD: Greatest Hits');
$products[] = array('id' => 2, 'category_id' => 2, 'sku' => 'CD002', 'price'=>15.00, 'name' => 'CD: Unplugged');
$products[] = array('id' => 3, 'category_id' => 2, 'sku' => 'CD003', 'price'=>15.00, 'name' => 'CD: World Tour');
$products[] = array('id' => 4, 'category_id' => 3, 'sku' => 'PD001', 'price'=>10.00, 'name' => 'Souvenir Pin');
$products[] = array('id' => 5, 'category_id' => 3, 'sku' => 'PD002', 'price'=>10.00, 'name' => 'Mug');
$products[] = array('id' => 6, 'category_id' => 3, 'sku' => 'PD003', 'price'=>20.00, 'name' => 'Hat');
$products[] = array('id' => 7, 'category_id' => 3, 'sku' => 'PD004', 'price'=>12.00, 'name' => 'Summer Tour Poster');
$products[] = array('id' => 8, 'category_id' => 3, 'sku' => 'PD005', 'price'=>5.00,  'name' => 'Concert Program');

// create the response
$response = array('categories' => $categories, 'products' => $products);

// display the json encoded response
echo json_encode($response);

输出的json结果是这样的

{"categories":[{"id":1,"parent_id":0,"name":"root"},{"id":2,"parent_id":1,"name":"Compact Discs"},{"id":3,"parent_id":1,"name":"Concert Souvenirs"}],"products":[{"id":1,"category_id":2,"sku":"CD001","price":15,"name":"CD: Greatest Hits"},{"id":2,"category_id":2,"sku":"CD002","price":15,"name":"CD: Unplugged"},{"id":3,"category_id":2,"sku":"CD003","price":15,"name":"CD: World Tour"},{"id":4,"category_id":3,"sku":"PD001","price":10,"name":"Souvenir Pin"},{"id":5,"category_id":3,"sku":"PD002","price":10,"name":"Mug"},{"id":6,"category_id":3,"sku":"PD003","price":20,"name":"Hat"},{"id":7,"category_id":3,"sku":"PD004","price":12,"name":"Summer Tour Poster"},{"id":8,"category_id":3,"sku":"PD005","price":5,"name":"Concert Program"}]}

但是,我想要使用 Mysql 从 PHP 获得相同的 Json 输出。我的数据库结构是这样的,

类别

id |父 ID |名称 |

产品

id |类别_id |商品编号 |价格|名称 |

我应该如何编写我的 php 代码,以便我从 Mysql 获取数据并像上面那样获取 json 结果?提前致谢。

最佳答案

我觉得你的处理方式很好

示例片段

$result = Array( 'Categories' => Array(), 'Products' => Array());

$stmt = $mysqli->prepare( 'SELECT id, parent_id, name FROM category' );
$stmt->bind_result( $id, $parent_id, $name );
$stmt->execute();
while( $stmt->fetch() ) {
  $result['Categories'][] = Array( 'id' => $id, 'parent_id' => $parent_id, 'name' => $name );
} 
$stmt->close();
//Do the same for the other one

$jsonstring = json_encode( $result );

从那里你应该能够自己弄清楚

关于php - 如何使用php从Mysql中提取Json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20588360/

相关文章:

php - 从 csv 文件大量插入

javascript - 将数组更改为 json

php - 使用命名空间时无法使用 require_once 加载类

php - 分割一个巨大的表

java - 如何在 Jpa 存储库中编写 Sql 查询?

java - GSON java 我怎样才能在映射和打印之间使用不同的名称?

java - 从 php 脚本解析 Json

php - 如何在 CLI 和网络浏览器中写新行?

javascript - 文件名带#的文件下载失败

php - 插入Mysql并获取唯一id