我的頁面創建了一些隨機變量來挑選圖紙的獎品和獲勝者,並且我想在獲勝者點擊一個按鈕以獲得獎品後將獲獎者和他們的獎品寫入表格。按下按鈕或幕後操作頁面後執行cfquery嗎?
問題是我希望他們留在頁面上,以便獎品可以再次被挑選,如果它沒有聲稱。
我能想出的最佳解決方案是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由隨機選擇獎確定。
如果您不喜歡Leigh關於ajax的建議,則可以將您的動作頁面放入1像素的iframe中。您仍然必須使用js來更改父頁面的內容。 –
不管你採用什麼方法,使用查詢參數和範圍你的變量。 –
首先...不要使用cfform ....第二..不要使用cfajax的東西。我會爲此使用ajax,但使用jquery或其他東西。另外,如果你只是減少查詢次數,那麼有人可以在一秒鐘內利用它,並將計數減少到零。 –