投票模組的設計與實現

2021-04-19 08:00:53 字數 1580 閱讀 1536

投票功能在日常上網中隨處可見,特別是在bbs中。它不但直觀的反映了網友對某種事物的看法,而且能很好的聚集人氣。

那麼就開始對投票這個功能模組進行設計。

第一讓我們看看流程圖:

這是個很簡單的應用系統就是負責寫入資料庫在顯示出來給使用者

現在開始實現這個功能:

首先我在mysql資料庫中建立如下的表

這三個分別對已投票專案表,題目表,和使用者表。建立使用者表是為了防止重複投票的發生。

資料庫建立好玩 就開始code階段了。

在這之前看看讓我先看看投票的流程

知道流程後那麼code就很快了。就是完成資料庫的儲存而已。再這裡要加入個處理程式 來計數。

關鍵**如下:

$sqlstr = "select * from votesubject where v_id = '$v_id'";

$res = db_query($sqlstr);

$sqlstr2 = "select * from vote where v_id = '$v_id'";

$res2 = db_query($sqlstr2);

$sqlstr = "update vote set t_count = t_count+1 where t_id = '$t_id'";

db_query($sqlstr);

效果圖好了 這個完成後就是怎麼顯示出來給使用者看結果了。

那麼我來看看這個顯示的過程

根據這個流程code

關鍵**如下

$sqlsum = "select sum(t_count) from vote where v_id = '$v_id'";

$res = db_query($sqlsum);

$row = db_fetch_array($res);

$countall = $row[0];

$sqlstr = "select * from vote where v_id = '$v_id'";

$res = db_query($sqlstr);

$per = floor(($row['t_count']/$countall)*100) . "%";

echo

"";echo

"" . $row['t_id'] . "-";

echo

"" . $row['t_name'] . "";

echo

"在這裡基本就完成了 等等還有點 那就是重複投票的問題

那麼加上了檢查程式來檢查使用者投票

讓我來看看這個的工作流程

這個就很好寫了

$time_limit = 30;

$voter_ip = $remote_addr; 

$sqlstr = "select * from voteuser where v_id = '$v_id' and u_ip = '$voter_ip'";

$sqlstr .=  "and u_time + interval $time_limit minute > now()";

$res = db_query($sqlstr);

if (db_num_rows($res)>0) 

else

?>

頁面中查詢模組的設計與實現思路

二 萬能查詢 三 便捷查詢 總結在做乙個物品的展示管理頁面,想把增刪改查都放到頁面中,用axure畫了乙個頁面,比較簡單,主要分為上下兩部分,上半部分是查詢模組,下半部分是 用來展示資料。新增按鈕單獨在頁面中,修改按鈕在表的每一行資料後面,刪除按鈕在 下面,將 中的資料每一行設為可選,選擇後進行刪除...

模組與包的S設計

理論可見上文模組載入方案 這次 下如何設計 api 使用 js 模擬其他語言常見的模組 與包 的概念 模組化實踐 google doc 1.新增模組 通過 s.add 向執行環境新增模組,模組可以新增乙個簡單物件,或者乙個載入函式。簡單物件 s.add module1 載入函式 s.add modu...

模組設計與實現經驗總結 二

第乙個階段是明確模組的需求,能夠以詳細的功能規格說明書的方式 明確模組的功能需求,重點考慮模組要處理哪些例外和異常情況 盡自己最大努力把情況想全。例如對本模組對外提供的介面要詳細寫清楚,各種輸入引數情況下的行為是什麼,以及返回什麼值。對本模組要呼叫的外部介面,要寫明白本模組要求的響應是什麼,以及呼叫...