mysql - 在页面上显示结果,然后使用 ColdFusion 将多条记录插入 MySQL 表中

标签 mysql coldfusion

我创建了以下页面,显示哪些经理当月已累积时间。 - 首先,我需要显示记录以供审核, - 然后选中该框,点击“提交”并将它们添加到数据库中。 - 如果需要,所有内容都来自同一页面或操作页面。

我见过使用 CFLOOP 插入多条记录的示例,但不确定如何在我的页面中实现,因为我显示的是“不同数量”的记录?

<!--- Create the Manager Monthly Accruals (Mgt) dataset --->
  <cfquery name="rsLeaveTimeManagerAccruals" datasource="care">
   SELECT    username AS ltUser, accrued AS ltHours
     FROM      tblusers
   WHERE     clr_accrual = '1' AND hiredate  IS NOT NULL
  </cfquery>

然后我在页面上显示结果,如下所示:

<form action="" method="post">    
<table border="1" cellpadding="1" cellspacing="1">
      <tr>
        <td><input type="checkbox" name="checkbox" id="checkbox" title="Check this box and click Submit button to add Accruals to database." /></td>
        <td>ltUser</td>
        <td>ltHours</td>
      </tr>
      <cfoutput query="rsLeaveTimeManagerAccruals">
        <tr>
          <td>#rsLeaveTimeManagerAccruals.ltUser#</td>
          <td>#rsLeaveTimeManagerAccruals.ltHours#</td>
        </tr>
      </cfoutput>
</table>
</form>
<input type="submit" name="Submit" id="Submit" value="Submit" title="Check box & Submit to insert the Hours listed above for each User."/>

这是我的页面的样子:(只是一个 HTML 表格,动态显示要在插入之前查看的记录)

enter image description here

问题:如何将 (ltUser & ltHours) 的“x”个查询结果插入到 tblLeaveTime WHERE "checkbox"= 1 中?

最佳答案

最简单的选项是使复选框成为唯一记录 ID。我还建议为该复选框指定一个更具描述性的名称。

 <input type="checkbox" name="userIDList" value="#ID#" ...>

所选 ID 将作为逗号分隔列表传递到操作页面。然后,您可以使用该列表通过 INSERT/SELECT 将选定的记录插入到另一个表中。 (显然添加验证以确保首先选择某些内容。)

   INSERT INTO OtherTable ( UserID, AccruedHours )
   SELECT ID, Accrued 
   FROM   tblUsers 
   WHERE  ID IN 
          (
            <cfqueryparam value="#FORM.userIDList#" cfsqltype="cf_sql_integer" list="true"> 
          )

关于mysql - 在页面上显示结果,然后使用 ColdFusion 将多条记录插入 MySQL 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41858844/

相关文章:

mysql - 在 ID 范围内查找和替换

mysql - MySQL的SELECT WHERE如何进行整数比较?

MySQL:获取最后插入的主键而不使用自动增量

mysql - 与 MySQL NOT EXISTS 作斗争

php - SQLSTATE[42000] SELECT 中的违规 1064

在 ColdFusion 中找不到 Java 方法

function - cffunction 访问=

debugging - 线路调试Lucee应用程序

datetime - ColdFusion 时区支持?

sql-server - 使用 Coldfusion 提交查询时 SQL 语法错误