php - json_encode 来自数据库的数据数组

标签 php jquery mysql ajax

我不知道如何编写以下代码。

    $rowID = $_POST['rowID'];
    if ($listing = $Listings->getData($rowID)) {
        $jsonArray = array(

            'listing_number' => $listing['listing_number'],


        );
        exit(json_encode($jsonArray));
    }

当我这样做时,响应是未定义索引:listing_number。

但是,如果我这样写,

$rowID = $_POST['rowID'];
if ($listing = $Listings->getData($rowID)) {
    $jsonArray = array(

        'listing_number' => $listing[0],


    );
    exit(json_encode($jsonArray));
}

响应是

{"listing_number":{"id":"24","client_id":"1","address":"","address_2":"","city":"","state":"","zip":"","price":"","listing_number":"asdasdasdasd","remarks":"","link":"","status":"","bd":"","ba":"","lot_sz":"","sq_ft":"","yr":"","type":"","thumb":""}}

这让我知道我的 SQL 和 PHP 是正确的,我只是不知道如何正确访问 $listing['listing_number]

如有任何帮助,我们将不胜感激。

最佳答案

GrumpCrouton在评论中说,您的查询返回结果数组。因此,如果您想访问第一个结果中的值,首先需要使用其索引来访问此结果:
$listing[0]->listing_number

$rowID = $_POST['rowID'];
if ($listing = $Listings->getData($rowID)) {
    $jsonArray = array(
        'listing_number' => $listing[0]->listing_number,
    );
    exit(json_encode($jsonArray));
}

附注您可以使用简单的转换( $result = (array) $result )将对象转换为数组,但这在您的情况下不是必须的。将对象转换为数组将允许您使用 result['key'] 而不是 result->key 访问其数据。

关于php - json_encode 来自数据库的数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56078003/

相关文章:

php - 无法删除 php shell_exec() 返回值中的换行符

PHP:使用特定功能格式化每个表列

php - Wordpress:如果我想从 javascript 文件调用我的 php 脚本,该把它放在哪里?

javascript - 使用 TableExport.js 将 HTML 表格导出为 PDF、WORD、PNG

jquery - 为什么 jqGrid cellattr 样式在 IE 7 中似乎不起作用(但在 IE8 和 FF 中工作正常)

javascript - 可以使用 JQuery 让文本在加载时淡出,无法让文本在点击时淡出

mysql - 从mysql中逗号分隔的列中搜索多个值

php - 如何从逗号分隔的数组中获取单个数据并使用 codeigniter php 显示该记录的数据

php - 如何将 WP_Query 结果限制为最后 X 个发布的帖子?

php - 如何使用 the_field 从 https 加载图像