網站投票系統

網站投票系統

網站投票系統是基於網路的一種投票收集及統計的系統,比傳統的投票統計更為方便、快速、準確。總的來說,投票系統可分為3個模組:選票模組,選票處理模組和結果顯示模組。 投票系統需要對某一項目的選擇做出記錄,一般情況下是存放在資料庫中然後對投票情況進行統計並顯示投票結果。

簡介

首先給出選票,即供投票者選擇的窗體對象,當投票者按下投票按鈕後,選票處理模組開始激活,對傳送到伺服器的數據作相應的處理,伺服器端在處理時先判斷用戶選擇的是那一項,然後把相應欄位的值加1。實際上保存投票結果的資料庫中的表只有一條記錄就可以了,只是需要不斷的對這些數據進行更新。最後則是由結果顯示模組把投票結果顯示出來。

網站投票系統 網站投票系統

這篇教程以對一部電影的評價為例進行投票系統的講解。在這個例子中有3種選擇,很好、一般和很差!並且只能選擇其中一項。

檔案說明:

*vote.ASP 投票頁

*result.asp顯示投票結果

*add.asp選票處理模組,投票者在投票頁選擇並按下投票按鈕並提交後,資料庫即進行更新,最後轉向Result.asp

資料庫的設計與建立

資料庫檔案tvote.mdb只有一個表tvote,該表只有一條記錄,而記錄對應著3個欄位,每一個欄位保持一種選項的投票數目。新建表的記錄初始值為0,為了方便看效果,所以先對記錄的各個欄位賦了初值!

建立站點和資料庫連線

1.建立站點!關於建立站點的詳細步驟,偶就不說了。貼張圖看下!!

2.資料庫連線,這裡用構建0DBC的方法來連線資料庫!

DSN(Data Source Name),數據源名稱)表示用於將應用程式和某個資料庫相連線的信息集合。ODBC數據源管理器使用 該信息來創建指向資料庫的連線!

具體步驟:啟動控制臺-管理工具-數據源(0DBC)-系統DSN-“添加”

然後在打開的創建新數據源對話框中選擇 Microsoft Access Driver (*.mdb)點擊“完成”會出現ODBC Microsoft Access 安裝對話框,給你要建立的數據源起個名字,然後點擊“選擇”,選擇你建立的資料庫檔案的路徑!單擊確定,就可以看到在ODBC數據源管理器中多了一個我們剛剛新建立的數據源。

然後到dreamweaver裡面,打開我們剛剛建立的站點,隨便打開一個檔案!打開應用程式面板的資料庫標籤,點“+”,選擇“數據源名稱(DSN)”

投票系統主頁面製作

實際上,投票者只需要作出選擇就可以了,不需要添加任何行為。對投票頁緊需設定表單及窗體對象的屬性即可。

1.先製作如下的靜態頁面

注意,頁面中的表格一定是嵌套在一個form(表單)裡面的(偶剛開始學asp的時候,都是直接就弄個表格,結果出了n次錯)

2.form設定

網站投票系統 網站投票系統

將游標移到表單區域內,單擊視窗下面的form標籤來選中form。對form屬性進行如下設定單擊表格右列第一行的單選按鈕屬性設定form中的單選按鈕的屬性。在其屬性面板中,在單選按鈕文本框中輸入rbResult,這樣就設定了該單選按鈕的name的屬性為rbResult,在選定值文本框中輸入fGood,這樣就設定了該單選按鈕的Value屬性值。如圖

輸入的value屬性值與資料庫中的表tvote的一個欄位名相同,而表tvote的fGood欄位保存的是選擇[很好]項的投票者總數,在按下投票按鈕提交後,將fGood作為單選按鈕的值傳出,與資料庫中的欄位名聯繫起來!

在初始狀態選項中,選中[已勾選]單選按鈕,即默認情況下被選中!

同樣,對下面2個單選按鈕也按以上步驟設定!

表格中下面的2個單選按鈕的name屬性也設為rbResult,這樣設定可使3個單選按鈕的name屬性相同,這樣投票者就只能選擇其中的一項。在[初始狀態]選項中選中[未選中]單選按鈕,在[選定值]文本框中分別輸入fMid、fBad,與表tvote中的另外二個欄位相同,這樣,vote。asp就作好了!

投票結果頁面的製作

2.定義記錄集

打開數據[綁定]面板,單擊[+]按鈕,選擇[記錄集(查詢)]選單項,

如果出現簡單[記錄集]對話框,則應單擊[高級。。。]按鈕轉到高級記錄集對話框!

在名稱文本框中輸入rsVote,在連線下拉列表中選擇connvote,在SQL列表框中書寫“SELECT fGood, fMid, fBad, (fGood+fMid+fBad) as VTotal, (fGood/VTotal) as GoodPercent, (fMid/VTotal) as MidpPercent, (fBad/VTotal) as BadPercentFROM tVote”

3.數據綁定

將游標放在“有 人參加了投票”之間,在綁定面板中選中vtotal欄位,然後單擊“插入”這樣就把投票人的總數動態的加入到Result。asp頁面中!用同樣的方法將其他欄位綁定到相應位置

4.記錄集中的Goodpercent/Midpercent/Badpercent這3個動態數據分別是投票[很好][一般][很差]的人數占投票總人數的比例。而這三項動態數據的值是小數,在瀏覽時,將以小數形式顯示因此,要把他轉換成百分數,並保留2位小數。

選中表格第一行中的{rsVote.GoodPercent},然後在綁定面板中單擊Goodpercent右邊的下拉三角(即記錄集“格式’框中的下拉三角,)在彈出的選單中選擇[百分比]-[2個小數位]

同樣的方法設定{rsVote.badPercent}{rsVote.midPercent}

5.製作表格的動態屬性

製作圖示可採用表格嵌套和表格的動態屬性來完成。如果在表格中每一行的第2列的部分嵌套一個只有一行一列的小表格,將這個小表格的背景色設定為紅色,將小表格的寬度度量單位設定為百分比(相對於容納他的單元格寬度也會根據投票者的數量的變化而變化,這樣就達到了製作圖示的目的。灰色的部分可以看做是投票的總人數,紅色的部分可以看做是各選項的人數。

製作投票[很好]項人數占總人數的比例圖示。把游標放在第一行的第2列上,插入一個表格。

把表格的背景設定為紅色 .選中小表格,選擇[視窗]-[標籤檢查器],打開[標籤]面板,選擇[屬性].找到[常規]-width屬性,選中他,這時在他旁邊會出現一個閃電按鈕。單擊閃電按鈕,會彈出一個動態數據視窗。在[域]列表框的記錄集中選擇Goodpercent,然後在格式下拉列表中選擇[百分比-2個小數位]項。單擊確定。

重複上面的步驟,分別在第二、三行插入一個小表格。只是在設定動態屬性時,須在動態數據視窗的列表框的記錄集中選擇midpercent。 badpercent項

好了,Result。asp的頁面也到此就製作好了。可以預覽下看看了喔!

更新頁add.asp

我們在投票頁vote。asp中設定form的動作屬性時,已經設定了相應動作的檔案為add。asp!

1..新建一個動態頁asp VBScript檔案

在這裡可以作一個轉到result。asp的連結!

2. 綁定-命令(預存過程)

由於投票系統主要記錄各個選項的投票人數,所以這一步並不是對資料庫進行讀操作或者向資料庫插入一條記錄,而是修改資料庫的表vote中某一欄位的值。確切的說,是對表vote某一欄位的數據進行累加,所以必須選擇[命令(預存過程)]選單項用簡單的SQl語言進行定製!

單擊綁定面板的“+”選擇“命令(預存過程)”,設定如圖

在vote。asp頁中設值但選按鈕的屬性時,已將3個單選按鈕Value屬性的值分別設定為表vote中的3個欄位名,所以Request.form("rbResult")值一定是表vote的一個欄位名。所以這條SQL語句的意思就是使某一欄位加1,即在相應的欄位中記下了一個投票者!

*注意:實際操作時,一定要把[SQL]中的where去掉*

好了,目前為止,這個投票系統的檔案就全部作好了!

發個最終預覽的效果看下!

製作重點及相關技巧

製作投票系統,首先需要了解投票系統的機制、投票系統需要建立的各個網頁檔案以及製作這些檔案的步驟!主要製作技術有:投票系統的製作,單選按鈕的命名及value屬性的設定技巧,單選按鈕的值的存儲技巧,sql中計算欄位的使用,比例圖示的設計技巧及動態數據格式的格式設定等等。

相關詞條

熱門詞條

聯絡我們