ホームページ >php教程 >php手册 >PHP を使用してアンケートを作成する

PHP を使用してアンケートを作成する

WBOY
WBOYオリジナル
2016-06-21 08:58:321192ブラウズ
ご質問がございましたら、こちらまでご連絡ください: http://www.webjx.com web@webjx.com
転載の際は出典を明記してください

今日はお伝えしますPHP の使い方 この例を通じて、PHP と MYSQL を使用してプログラミングを実装する方法を学ぶことができます。

まず、MYSQ
データベースにテーブルを作成します。テーブルに含まれる特定のフィールドと設定は次のとおりです。

# テーブル poll_data
#
のテーブル構造。 CREATE TABLE poll_data (
ID tinyint(4) NOT NULL auto_increment,
Option1 tinyint(4) NOT NULL デフォルト '0',
Option2 tinyint(4) NOT NULL デフォルト '0',
Option3 tinyint(4) NOT NULL デフォルト '0',
投票 tinyint(4) NOT NULL デフォルト '0',
タイトル varchar(25) NOT NULL デフォルト '',
質問 varchar(50) NOT NULL default '',
PRIMARY KEY (ID)
) TYPE=MyISAM;
データベース テーブルを確立した後、この問題を解決するコードの作成を開始します。通常、問題を解決するとき、私たちは問題を細分化して、それぞれを個別に攻撃して問題全体を解決できるようにします。以下では、この方法を使用してプログラム コードを記述します。
このアンケートの主な機能は次のとおりです。
1. アンケートのタイトルとアンケートの質問を表示します。
2. 各投票項目のタイトル、総得票数の割合、各項目の得票率を表示します。
3. アンケートに投票できるプログラムファイルを作成します。
問題を詳しく見てみましょう:
1. アンケートのタイトルとアンケートの質問を表示します。
a. 接続データベースコード
b. データベースから最新のレコードを選択します。
2. 各投票項目のタイトル、総得票数の割合、各項目の得票率を表示します。
a. アンケートでは項目ごとに投票数を選択し、総投票数を表示することができます。
b. 投票数を合計数で割ってパーセンテージを取得します。
3. アンケートに投票できるプログラムファイルを作成します。
a. ユーザーの投票後に結果を更新する必要があります

データベースへの接続を支援するためにいくつかの変数を使用します。コードは次のとおりです:
$dbhost = "localhost";
$dbname = "YourDataBase";
$dbuser = "YourUserName"; データベースへの接続を開始します。 mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname); レコードは自動的に追加され、プログラムは最新のレコードを自動的に昇順にソートできます。

$sql = "SELECT `タイトル`,`質問`,`ID` FROM `poll_data` ORDER BY `ID` DESC LIMIT 1";
if(!($result = mysql_query( $sql))) die(mysql_error());
$PollData = mysql_fetch_array($result)

次に、投票する項目を具体的に選択し、特定の割合を計算してみましょう。

$sql = "SELECT `Option1`,`Option2`,`Option3`,`Votes` FROM `poll_data` WHERE `ID` = '" . ORDER BY `ID` DESC LIMIT 1";
if(!($result = mysql_query($sql))) die(mysql_error());
if(!($VoteData = mysql_fetch_array($result))) die (mysql_error());

ここでパーセンテージのコードを実装します。もちろん、パーセンテージのより具体的なイメージを表示するために、代わりにグラフィックを表示できます。
if($VoteData["Option1"] != 0) {
$VotePercent1 = Round(($VoteData["Option1"] / $VoteData["Votes"]) * 100) 。
} else {
$VotePercent1 = 0 ."%";
}
if($VoteData["Option2"] != 0) {
$VotePercent2 = Round(($VoteData ["オプション 2"] / $VoteData["投票数"]) * 100) . "%";
} else {
$VotePercent2 = 0 ."%";
}
if($ VoteData["Option3"] != 0) {
$VotePercent3 = Round(($VoteData["Option3"] / $VoteData["Votes"]) * 100) "%";
} else {
$VotePercent3 = 0 ."%";
}

このステップでは、高さ 20 ピクセル、幅 1 ピクセルの任意の色の画像を作成します。パーセンテージをグラフィカルに表すコードを設定します: ;




-


< td width="35%">

はい





















投票


いいえ


投票


よくわかりません


投票

< /form>



现在我们来設置用户的投票的代码,当有投票之后,我们就自动计算百分数,及び更新データ库,我们一变量を使用して投票を受け取ります: $_POST。

if(empty($_POST["投票"])) die("投票が入力されていません");

我们择表中の最新的记录。

$dbhost = "localhost";
$dbname = "misc";
$dbuser = "root";
$dbpass = "トリガー";

$link_id = mysql_connect( $dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);

$sql = "SELECT `Option1`,`Option2`,`Option3`,`Votes`,`ID` FROM `poll_data` ORDER BY `ID` DESC LIMIT 1";
if(!($result = mysql_query($sql))) die(mysql_error());
if(!($PollData = mysql_fetch_array($ result))) die(mysql_error());

データテーブル内の承認を更新します。現在の投票数として 1 を設定し、全体の投票数も 1 に設定します。 その後、私は程序を介してハンドリングデータを更新し、データテーブル内の評価:

if($_POST["Vote"] == "Option1") {
$Votes1 = $PollData[" Option1"] + 1;
$TotalVotes = $PollData["Votes"]+ 1;

$sql = "UPDATE `poll_data` SET `Option1`='$Votes1', `Votes`= '$TotalVotes' WHERE `ID` = '"。 $PollData['ID'] 。 "' LIMIT 1";

if(!($result = mysql_query($sql))) die(mysql_error());
echo "投票は成功しました! 投票に戻る";
}
else if ($_POST["Vote"] == "Option2"){
$Votes2 = $PollData["Option2" ] + 1;
$TotalVotes = $PollData["Votes"]+ 1;

$sql = "UPDATE `poll_data` SET `Option2`='$Votes2', `Votes`='$ TotalVotes' WHERE `ID` = '"。 $PollData['ID'] 。 "' LIMIT 1";
if(!($result = mysql_query($sql))) die(mysql_error());
echo "投票は成功しました! 投票に戻る。";

}
else {
$Votes3 = $PollData["Option3"] + 1;
$TotalVotes = $PollData["Votes "] + 1;

$sql = $sql = "UPDATE `poll_data` SET `Option3`='$Votes3', `Votes`= '$TotalVotes' WHERE `ID` = '"。 $PollData['ID'] 。 "' LIMIT 1";
if(!($result = mysql_query($sql))) die(mysql_error());
echo "投票は成功しました! 投票に戻る。";

}

好了整个程序到这就结束了,希望您在看这个程序時能掌握一部技巧和学到一部知識识。谢谢!



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。