【问题标题】:how to modify the results of a MySQL query in Coldfusion (replace database integer with HTML button/text)如何在 Coldfusion 中修改 MySQL 查询的结果(用 HTML 按钮/文本替换数据库整数)
【发布时间】:2012-07-18 15:10:57
【问题描述】:

我正在使用数据表和 Jquery Mobile(服务器 Coldfusion8,MySQL 5.0.88)来显示表格数据。虽然这工作正常,但我正在尝试将 AJAX 集成到表中,因此每当用户页面或过滤器时,都会再次查询和更新数据库。

现在我正在尝试使用这个snippet 让它工作

var userTable = $('#users).dataTable({
    "sAjaxSource": "path/to/handler.cfc?method=GetUsers",
    "aoColumns": [
        { "mDataProp": "id" , "sTitle": "ID"},
        { "mDataProp": "name" , "sTitle": "Name"},
        { "mDataProp": "surname" , "sTitle": "Surname"},
        { "mDataProp": "email" , "sTitle": "Email Address"}
      ]
    });

在CF内部:

<cffunction name="GetUsers" access="remote" output="false" returntype="any" returnformat="json"> 
    <cfquery name="local.qryUsers" datasource="dsn">
      SELECT id, name, surname, email FROM tblUsers
    </cfquery>

    <cfscript>
      local.strData = StructNew();
      local.strData['aaData'] = QueryToArray(local.qryCandidates);
      return local.strData;
     </cfscript>

</cffunction>

我的问题是我需要修改查询中的一些数据,例如,我正在存储一个名为 status 的列,其值为 1、2、3、4、5,并且在构建时查询结果,我用正确语言的正确文本替换状态号。或者我在每一行都有一个 Jquery Mobile 编辑/删除控制组,而我在数据库中没有。

问题
有没有办法将此添加到从 MySQL 返回到 Coldfusion 的查询结果中 = 我如何 (a) 通过循环列并用一些文本 (状态) 替换数字来修改查询结果和 (b) 我如何添加一个查询结果(编辑/删除)按钮的完整列,然后我可以将整个内容输入 AJAX 响应?

感谢您的帮助!

【问题讨论】:

    标签: ajax arrays coldfusion


    【解决方案1】:

    循环和改变的例子

    <cfloop query="MyQuery">
        <cfscript>
            variables.myNewValue = "aaa #MyColumn#";
            QuerySetCell(MyQuery, "MyColumn", variables.myNewValue, CurrentRow);
        </cfscript>
    </cfloop>  
    

    至于添加一列 - 试试 QueryAddColumn() 函数

    【讨论】:

      【解决方案2】:

      您可以循环查询并使用QuerySetCell 修改列的内容。

      <cfloop query="local.qryUsers">
        <cfset QuerySetCell(local.qryUsers, "status", "your new value", local.qryUsers.currentRow)>
      </cfloop>
      

      您可以使用QueryAddColumn 向查询中添加列。

      <cfset QueryAddColumn(local.qryUsers, "yourNewColumnName", [1,2,3])>
      

      【讨论】:

      • 完美。非常感谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      相关资源
      最近更新 更多