当前我正在使用以下代码
<?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/