首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问连接的SQL表的列(适用于JSON)

如何访问连接的SQL表的列(适用于JSON)
EN

Stack Overflow用户
提问于 2013-04-30 04:30:43
回答 1查看 130关注 0票数 0

在我的PHP文件上,我运行以下SQL查询:

代码语言:javascript
复制
SELECT *   
FROM national_age_gender_demographics INNER JOIN arizona_age_gender_demographics
WHERE national_age_gender_demographics.age_group = arizona_age_gender_demographics.age_group
ORDER BY national_age_gender_demographics.index_number";

现在,我正在尝试使用以下内容访问行以创建JSON数据:

代码语言:javascript
复制
for ($i = 0; $i < $numRows; $i++) {
    if ($i != 0) {
        $tableData .= ",[";
    }
    $tableData .= '"' . $row['national_age_gender_demographics.age_group'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.both_pop'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.male_pop'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.female_pop'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.male_percent'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.female_percent'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.both_percent'] . '",';
    $tableData .= '"' . $row['national_age_gender_demographics.males_per_100_females'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.both_pop'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.male_pop'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.female_pop'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.male_percent'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.female_percent'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.both_percent'] . '",';
    $tableData .= '"' . $row['arizona_age_gender_demographics.males_per_100_females'] . '"]';
    if ($i != $numRows - 1) {
        $row = mysqli_fetch_array($result);
    }
}

当在我的浏览器中输入PHP文件的URL时,对于我试图访问连接表的每一行,我都得到了未定义的索引。

我想知道,访问连接表的正确语法是什么?不,不要告诉我使用json_encode,因为它在DataTables中抛出了JavaScript错误。

EN

回答 1

Stack Overflow用户

发布于 2013-04-30 04:33:28

列名中不能有.,所以我假设第一部分实际上是表的名称。在这种情况下,数组键是句点后的部分:

代码语言:javascript
复制
$row['males_per_100_females']

如果你打算输出JSON,你应该使用json_encode而不是手动编码。

代码语言:javascript
复制
$data = array(
   'some_key' => 'some data',
   'table_data' => array()
);

while(false !== ($row = $result->fetch_assoc())) {
   $data['table_data'][] = $row;
}

echo json_encode($data);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16287677

复制
相关文章

相似问题

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