私はMySQLを使用してPHPで投票システムを開発しています。ユーザーはラジオボタンを使用して選択を入力すると、データベースに入力されます。同じページで、送信ボタンをクリックすると、ユーザーの投票率が表示されます。
しかし、コードは複数回は機能しません。このクエリを整理するのを手伝ってください。
さらに詳しく
このプログラムでは、データベース テーブル ポーリングを使用して、and という名前の 2 つの列を作成しyes
、no
それらの値を 0 に設定します。次に、2 つの変数$i
andを使用$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();
?>