我正在使用 MySQL 开发一个 PHP 投票系统,用户通过单选按钮输入他的选择,这将进入数据库。在同一页面上,点击提交按钮后会显示用户投票的百分比。
但是代码不能工作超过一次。请帮我整理一下这个查询。
更多细节
在这个程序中,我使用数据库表轮询,其中我创建了两个名为的列yes
并将no
它们的值设置为 0。然后,我使用两个变量$i
并$j
在单击提交按钮时更新数据库中的 yes 或 no 的值。
如果选择“是”,则$i
增加其值并使用UPDATE
查询将其保存。然后我从 yes 和 no 列中获取值来计算百分比。
我设置$_session['yes']
存储投票“是”的选民百分比的结果,变量也是如此$_session['no']
。最后,我从数据库中获取值以存储$i
并$j
用于下次单击,但值没有改变。
PHP代码:
<?php
ob_start();
session_start();
$conn=mysql_connect('localhost','root','');
mysql_select_db('oop',$conn);
global $i,$j;
if(isset($_POST['btnsav']) && isset($_POST['vote']))
{ if($_POST['vote']=='yes')
{ $y=$i++;
$query="update poll set yes='$y'";
$res=mysql_query($query) or die(mysql_error());
if($res>0)
{
$qry="select yes from poll";
$res=mysql_query($qry) or die(mysql_error());
$r=mysql_fetch_array($res) or die(mysql_error());
$k=$r[0];
$qry="select no from poll";
$res=mysql_query($qry) or die(mysql_error());
$r1=mysql_fetch_array($res) or die(mysql_error());
$k1=$r1[0];
$y=$k/($k+$k1);
$y1=$y*100;
$_SESSION['yes']=$y1;
}
}
else
{
$n=$j++;
$query="update poll set no='$n'";
$res=mysql_query($query) or die($query);
if($res>0)
{
$qry="select no from poll";
$res=mysql_query($qry) or die(mysql_error());
$r=mysql_fetch_array($res) or die(mysql_error());
$k=$r[0];
$qry="select yes from poll";
$res=mysql_query($qry) or die(mysql_error());
$r1=mysql_fetch_array($res) or die(mysql_error());
$k1=$r1[0];
$y=$k/($k+$k1);
$y1=$y*100;
$_SESSION['no']=$y1;
}
}
}
$qry1="select yes from poll";
$res1=mysql_query($qry1) or die(mysql_error());
$r1=mysql_fetch_array($res1) or die(mysql_error());
$i=$r1[0];
$qry2="select no from poll";
$res2=mysql_query($qry2) or die(mysql_error());
$r2=mysql_fetch_array($res2) or die(mysql_error());
$j=$r2[0];
echo ceil($i);
echo ceil($j);
?>
HTML 代码:
<html>
<head>
<style>
.main
{
margin-top: 50px;
}
</style>
</head>
<body>
<div class="main">
<center>
<h2><font color="blue">Vote For India</font></h2>
<form method="post">
<tr>
<td>Ques: Are you support Rahul Gandhi as PM candidate??<br /></td>
</tr>
<tr>
<td>YES<input type="radio" name="vote" value="yes" /><br />
NO<input type="radio" name="vote" value="no" /><br /></td>
</tr>
<tr>
<input type="submit" name="btnsav" value="VOTE" /><br />
</tr>
<?php
if(isset($_SESSION['yes']))
{
echo ceil($_SESSION['yes']);
}
elseif (isset($_SESSION['no']))
{
echo 'Non supportrs'.ceil($_SESSION['no']);
}
?>
</form>
</center>
</div>
</body>
</html>
PHP代码:
<?php
ob_end_flush();
session_destroy();
?>