ColdFusion Web Poll - 在MS Access数据库中更新轮询结果

时间:2011-07-06 12:26:54

标签: coldfusion

如果选择option1以+ 1投票更新访问数据库,我该如何编码。数据库只有一个记录包含Option1,Option2,Option3和&每列中都有等等。根据选择的选项,每个列下将显示总投票数。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:-2)

我假设提交的选项是名称为selectOption的表单变量,请尝试以下查询...

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