首页 | 笔译 | 口译 | 本地化 | 外语录音 | 外语秘书服务 | 服务报价 | 实力展示 | 关于我们 | 联系我们 | English

| 学英语 | 考试园地 | 学翻译 | 阅读写作 | 趣味英语 | 美文欣赏 | 译制片剧情 | 外文歌曲 | 本地化教程 | 办公自动化
 → 当前位置:首页>本地化教程>PHP教程> 点击访问建筑翻译网化工翻译网,找到你想要的行业标准英文翻译!!

用PHP来制作调查

悦尔翻译网 2007-07-02 来源: 收藏本文

标准翻译网
  有什么问题请与我联系:http://www.webjx.com web@webjx.com
 转载请注明出处

  今天给大家讲一个如何用PHP做调查的例子,通过这个例子你可以学会如何用PHP和MYSQL来实现编程,这个例子不难,希望您能有收获。

  首先创建一个MYSQ
数据库的表,表中具体包括的字段及设置如下:

# Table structure for table poll_data
#
CREATE TABLE poll_data (
ID tinyint(4) NOT NULL auto_increment,
Option1 tinyint(4) NOT NULL default '0',
Option2 tinyint(4) NOT NULL default '0',
Option3 tinyint(4) NOT NULL default '0',
Votes tinyint(4) NOT NULL default '0',
Title varchar(25) NOT NULL default '',
Question 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";
  $dbpass = "YourPass";

  然后我们开始连接数据库:
  $link_id = mysql_connect($dbhost, $dbuser, $dbpass);
  mysql_select_db($dbname);
  现在我们所做的就是具体有关数据库的内容了,要求数据库能自动增加记录,并且程序取出的是最新的记录,ID能自动升序,数据库代码如下:

$sql = "SELECT `Title`,`Question`,`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` = '" . $PollData['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["Option2"] / $VoteData["Votes"]) * 100) . "%";
} else {
$VotePercent2 = 0 ."%";
}
if($VoteData["Option3"] != 0) {
$VotePercent3 = Round(($VoteData["Option3"] / $VoteData["Votes"]) * 100) . "%";
} else {
$VotePercent3 = 0 ."%";
}

  我们这步做一个20象素高1象素宽的任何颜色的图片。我们设置代码来用图象表示百分数:
<html>
<head>
<title>Basic Poll - Written by webjx.com</title>
</head>
<body>
<form method="POST" action="vote.php">
<table width="500" border="1" cellspacing="0" cellpadding="8">
<tr>
<td colspan="3"><b><?=$PollData['Title']?> - <?=$PollData['Question']?></b></td>
</tr>
<tr>
<td width="35%">
<input type="radio" name="Vote" value="Option1">
Yes</td>
<td width=60%>
<img src="http://www.xker.com/xkerfiles/uppic/2006-12/5/0612502401418805.gif" width="<?=$VotePercent1?>" height="20">
</td>
<td><?=$VoteData["Option1"]?> Votes</td>
</tr>
<tr>
<td width="35%">
<input type="radio" name="Vote" value="Option2">
No </td>
<td width=60%>
<img src="http://www.xker.com/xkerfiles/uppic/2006-12/5/0612502401418805.gif" width="<?=$VotePercent2?>" height="20">
</td>
<td><?=$VoteData["Option2"]?> Votes</td>
</tr>
<tr>
<td width="35%">
<input type="radio" name="Vote" value="Option3" >
Not Sure</td>
<td width="60%">
<img src="http://www.xker.com/xkerfiles/uppic/2006-12/5/0612502401418805.gif" width="<?=$VotePercent3?>" height="20">
</td> <td><?=$VoteData["Option3"]?> Votes</td>
</tr>
<tr>
<td colspan="3">
<center>
<input type="submit" name="Submit" value="Vote">
</center>
</td>
</tr>
</table>
</form>
</body>
</html>

  现在我们来设置用户的投票的代码,当有投票之后,我们就自动计算百分数,和更新数据库,我们使用一个变量来接收投票: $_POST.

if(empty($_POST["Vote"])) die("You did not enter your vote");

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

$dbhost = "localhost";
$dbname = "misc";
$dbuser = "root";
$dbpass = "trigger";

$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 "Vote successful! <a href=\"index.php\">Back</a> to the poll.";
}
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 "Vote successful! <a href=\"index.php\">Back</a> to the poll.";

}
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 "Vote successful! <a href=\"index.php\">Back</a> to the poll.";

}

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

上一篇:用PHP来制作评论系统   下一篇:武汉-郑州铁路客运专线无碴轨道技术方案(10万字)
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
·用PHP来制作评论系统
·简单计数器的实现
·用PHP来验证Email是否正确
·用PHP实现把图象上传到数据库
·动态网站web开发 PHP、ASP还是ASP.NET
·PHP安装攻略:常见问题解答
·PHP4在Windows2000下的安装
·Zend公司全球首推PHP认证
·PHP在Web开发领域的优势
·初探PHP5
发表评论
要记得去论坛讨论,点击注册新会员) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行
·新概念英语MP3全下载(美
·优美的有声英语散文   
·简洁国际音标发音图表  
·如何突破英语口语    
·应聘空中小姐面试
最新文章
·用PHP来制作评论系统
·MySQL 5.0新特性教程 存储
·当PHP被禁用的PHP函数:tem
·自己写的一个PHP上传类
·简单计数器的实现

悦尔翻译网 版权所有
免费电话:800-810-5431 电话:010-8581-6768/9515 Email: info@foryout.com
已浏览: