2011-07-06 31 views

回答

-2

我假设提交选项将其视为与名selectedOption表单变量,并尝试下面的查询......

<cfquery name="qUpdate" datasource="datasourcename"> 
Update TShirt_port set option#form.selectedOption# = option#form.selectedOption# + 1 
</cfquery> 
+3

怎么样queryparams和不直接在查询中使用form/url变量? – Lucas

1

数据库只与 选项1,选项2的一个记录,选项3

最大的问题是你的表结构。如果选项存储在行(不是列)中,那么操作数据会更容易。对于一个非常简单的表格,插入每个选项作为一个单独的一行,0票初始化:

RecordID | OptionName | TotalVotes 
    1  | T-Shirt 1 | 0 
    2  | T-Shirt 2 | 0 
    3  | T-Shirt 3 | 0 
    .... 
    5  | T-Shirt 5 | 0 

然后用你的SELECT查询的结果来填充表单(或显示总计如果需要的话):

<cfoutput query="poll"> 
    <input type="radio" name="TshirtOption" value="#RecordID#"> #OptionName# 
    ... 
</cfoutput> 

提交表单时,增加所选选项的总票数。当然添加验证。

<cfquery name="updateVote" datasource="fiteastpoll"> 
    UPDATE Tshirt_poll 
    SET  TotalVotes = TotalVotes + 1 
    WHERE RecordID = <cfqueryparam value="#form.TshirtOption#" cfsqltype="cf_sql_integer"> 
</cfquery>