2011-07-06 12 views

答えて

-2

私が提出したオプションを想定していますが、名前のselectedOptionでフォーム変数として来て、クエリの下にしてみてください...

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

クエリでフォーム/ URL変数を直接使用しないqueryparamsはどうですか? – Lucas

1

データベースは オプション1、オプション2、オプション3

で一つのレコードを持っています

最大の問題は、テーブル構造です。オプションを行(列ではなく)に格納すると、データを操作する方がずっと簡単になります。 (必要に応じて、または合計を表示)

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

は、その後、あなたのフォームを移入するためにあなたのSELECTクエリの結果を使用します:

非常に単純なテーブルの場合は、0票で初期化された個別の行として各オプションを、挿入
<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> 
関連する問題