【问题标题】:SQL Column Name cannot be indexed by jquerySQL 列名不能被 jquery 索引
【发布时间】:2019-11-06 20:54:39
【问题描述】:

我正在尝试使用PHPMySql 读取数据,然后使用json_encode 将结果发送给客户端。然后我使用jQuery 脚本读取结果,但无法索引JSON 中的列,因为给列的名称类型中有括号COUNT(ID)

我正在尝试同时学习几件事,jQuerySQL 等,并认为必须有更好/更简单的方法?

我进行了SQL 查询,以计算名称在其中一列中出现的次数。它返回一个列名COUNT(ID)...

SQL 查询:

SELECT COUNT(ID), LocationName FROM myDB GROUP BY LocationName'

jQueryJSON 读入数组:

for(var i in data)
{
    getProfileName.push = data[i].ProfileName;
    getLocationCount.push = data[i].COUNT(ID)
}

我在jQuery 脚本中收到JSON,它有两列LocationNameCOUNT(ID)

但显然我不能使用 COUNT(ID) 的索引名称,因为括号。

如何用括号引用名称?

【问题讨论】:

    标签: php jquery mysql json


    【解决方案1】:

    您需要在查询中为COUNT(ID) 提供一个别名,如下所示:

    SELECT COUNT(ID) as totalIdCount, LocationName FROM myDB GROUP BY LocationName
    //------------------^you can chang alias name according to your comfort --------//
    

    现在在 jQuery 中使用这个别名

    for(var i in data)
    {
        getProfileName.push = data[i].ProfileName;
        getLocationCount.push = data[i].totalIdCount
    }
    

    注意:- 你可以直接在你的 jQuery 代码中尝试data[i]['COUNT(ID)'],但以上是标准做法。

    【讨论】:

    • “需要” 是一个强词。 OP 可以使用data[i]['COUNT(ID)']
    • 谢谢 0- 正是我要找的东西
    • @Phil 同意,但最好以更合适的方式做事(或者我们可以说标准方式)
    • 哦,我完全同意。这好多了更好
    猜你喜欢
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多