首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >返回JSON对象

返回JSON对象
EN

Stack Overflow用户
提问于 2014-04-18 06:38:03
回答 2查看 77关注 0票数 0

下面的PHP代码用于从wamp服务器查询数据,并返回一个要在XML页面中使用的JSON对象。

JSON数组应该包括商品描述、价格、数量和图像。

如何回显包含从$row2和$row3检索到的数据的JSON?

谢谢

代码语言:javascript
运行
复制
<?php 
session_start(); 
if(isset($_SESSION["userID"]))
{
//echo $_SESSION["userID"];
?>

<body>
<?php
include("connection_manager.php");

$query1="Select * from cart where userid='".$_SESSION["userID"]."'";
$result1=mysql_query($query1);
$row1=mysql_fetch_array($result1);

$query2="Select * from store where itemid='".$row1['itemid']."'";
$result2=mysql_query($query2);
$row2=mysql_fetch_array($result2);

$query3="Select * from photos where itemID='".$row1['itemid']."'";
$result3=mysql_query($query3);
$row3=mysql_fetch_array($result3);

?>
EN

回答 2

Stack Overflow用户

发布于 2014-04-18 06:43:03

要将关联数组输出为JSON,请使用json_encode

要输出描述$row2的JSON:

代码语言:javascript
运行
复制
echo json_encode($row2);

您还需要将Content-Type头设置为application/json。

票数 2
EN

Stack Overflow用户

发布于 2014-04-18 06:44:18

我将使用表连接将其简化为返回单个数组的单个查询,然后对该数组使用json_encode (请参阅http://www.php.net/manual/en/function.json-encode.php

可能类似于以下内容:

代码语言:javascript
运行
复制
$userId = $_SESSION['userID'];
$query = "SELECT store.*, photos.* 
            FROM cart 
            INNER JOIN store ON store.itemid = cart.itemid
            INNER JOIN photos ON photos.itemid = cart.itemid
            WHERE cart.userid='$userId'";
echo json_encode(mysql_fetch_array(mysql_query($query)));

话虽如此,请参阅这篇关于为什么不使用mysql_函数的文章:Why shouldn't I use mysql_* functions in PHP?

--EDIT--这是一个使用SQLite的示例;您可以更改它以匹配您想要使用的任何数据库:

代码语言:javascript
运行
复制
$db = new SQLite3("db.db");

$query = "SELECT store.description, store.price, store.quantity, photos.photo_url
            FROM cart
            INNER JOIN store ON store.item_id = cart.item_id
            INNER JOIN photos ON photos.item_id = cart.item_id
            WHERE cart.user_id=1;";
$results = $db->query($query);
$full_array = array();
while ($row = $results->fetchArray())
{
    $full_array[] = $row;
}
echo json_encode($full_array);

和输出:

代码语言:javascript
运行
复制
[
{
    "0": "a",
    "1": 1,
    "2": 1,
    "3": "/images/photo_1.jpg",
    "description": "a",
    "price": 1,
    "quantity": 1,
    "photo_url": "/images/photo_1.jpg"
},
{
    "0": "b",
    "1": 2,
    "2": 2,
    "3": "/images/photo_2.jpg",
    "description": "b",
    "price": 2,
    "quantity": 2,
    "photo_url": "/images/photo_2.jpg"
},
{
    "0": "c",
    "1": 3,
    "2": 3,
    "3": "/images/photo_3.jpg",
    "description": "c",
    "price": 3,
    "quantity": 3,
    "photo_url": "/images/photo_3.jpg"
},
{
    "0": "d",
    "1": 4,
    "2": 4,
    "3": "/images/photo_4.jpg",
    "description": "d",
    "price": 4,
    "quantity": 4,
    "photo_url": "/images/photo_4.jpg"
},
{
    "0": "e",
    "1": 5,
    "2": 5,
    "3": "/images/photo_5.jpg",
    "description": "e",
    "price": 5,
    "quantity": 5,
    "photo_url": "/images/photo_5.jpg"
}
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23144632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档