我的页面创建了一些随机变量来选择抽奖的奖品和获奖者,我想在获奖者单击按钮领取奖品后将获奖者及其奖品写入表格。
问题是我希望他们留在页面上,以便如果没有领取奖品,可以再次挑选奖品。
我能想出的最佳解决方案是 cfinput 按钮引用的操作页面,但我不希望操作页面打开,我只希望该页面上的 cfquery 在幕后运行。
这是我的查询示例:
<cfquery name="updateQuantity" datasource="christmas">
UPDATE PRIZES
SET QUANTITY = QUANTITY - 1
WHERE prize_ID = #prizeID#
</cfquery>
我尝试使我的按钮成为“提交”按钮并使用 cfif isDefined("form.Submit") 在同一页面上运行 cfquery,但提交按钮刷新页面(我不想要)并写入下一个选择获胜者而不是当前会话的prizeID:
<cfform>
<cfinput name="submit" type="submit" value="Claim Your Prize!" onClick="">
</cfform>
<cfif isDefined("form.Submit")>
<cfquery name="updateQuantity" datasource="christmas">
UPDATE PRIZES
SET QUANTITY = QUANTITY - 1
WHERE prize_ID = #prizeID# </cfquery>
</cfif>
PrizeID 由随机选择的奖品决定。