ColdFusion Web Poll - обновить результаты опроса в базе данных MS Access - PullRequest
0 голосов
/ 06 июля 2011

Как я могу кодировать, когда выбрана опция 1, чтобы обновить базу данных доступа с + 1 голосом. База данных имеет только одну запись с Option1, Option2, Option3 и т. Д. В каждом столбце. Общее количество голосов будет отображаться под каждым столбцом в зависимости от того, какой вариант выбран.

Ответы [ 2 ]

1 голос
/ 07 июля 2011

База данных имеет только одну запись с Вариант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>
0 голосов
/ 06 июля 2011

Я предполагаю, что представленный параметр представлен как переменная формы с именем selectedOption и попробуйте выполнить запрос ниже ...

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