PDA

View Full Version : سوال: نمایش یک رکورد کمتر



soroush.r70
چهارشنبه 21 فروردین 1392, 12:05 عصر
برای سایتم نظرسنجی درست کردم ولی توی جواب ها یک رکورد کمتر فراخوانی می کنه مثلا 5 جواب درج شده باشه 4 فراخوانی می شه 3 باشه 2 فراخوانی میشه چرا....؟

اینم اسکریپت :


<?php
error_reporting(NULL);
require_once("inc/config.php");
require_once("inc/class.php");
$class = new content;
if(isset ($dbuname) && ($dbpass) && ($dbhost) && ($dbname))
{
$class->openCon("$dbuname-$dbpass-$dbhost");
$class->openDB("$dbname");
}
if(!$_POST['poll'] || !$_POST['pollid']){
$class->query("SELECT id, ques FROM `questions` ORDER BY `id` DESC LIMIT 1");
while($row=$class->fetchassoc()){
//display question
echo "<div class=\"pollques\">".$row['ques']."</div>";
$poll_id=$row['id'];
}
if($_GET["result"]==1 || $_COOKIE["voted".$poll_id]=='yes'){
//if already voted or asked for result
showresults($poll_id);
exit;
}
else{
//display options with radio buttons
$class->query("SELECT id, value FROM `options` WHERE `ques_id`='$poll_id'");
if($class->fetchrow()){
echo '<div id="formcontainer" align="center"><form method="post" id="pollform" action="'.htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES).'" >';
echo '<input type="hidden" name="pollid" value="'.$poll_id.'" />';
while($row=$class->fetchassoc()){
echo '<span class="opptpo"><label for="option-'.$row['id'].'" class="textvp" >'.$row['value'].'</label><input type="radio" name="poll" value="'.$row['id'].'" id="option-'.$row['id'].'" class="oprbd"/><br></span>
';
}
echo '<input type="submit" class="botton" value="ثبت نظر" /></form>';
echo '<a href="'.htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES).'?result=1" id="viewresult">نمایش نتایج</a></div>';
}
}
}
else{
if($_COOKIE["voted".$_POST['pollid']]!='yes'){

//Check if selected option value is there in database?
$class->query("SELECT * FROM `options` WHERE `id`='".intval($_POST["poll"])."'");
if($class->fetchrow()){
$query="INSERT INTO `votes`(option_id, voted_on, ip) VALUES('".$_POST["poll"]."', '".date('Y-m-d H:i:s')."', '".$_SERVER['REMOTE_ADDR']."')";
if($class->query($query))
{
//Vote added to database
setcookie("voted".$_POST['pollid'], 'yes', time()+86400*300);
}
}
}
showresults(intval($_POST['pollid']));
}
function showresults($poll_id){
$class=new content;
global $con;
$class->query("SELECT COUNT(*) as `totalvotes` FROM `votes` WHERE `option_id` IN(SELECT id FROM `options` WHERE `ques_id`='$poll_id')");
while($row=$class->fetchassoc())
$total=$row['totalvotes'];
$class->query("SELECT options.id, options.value, COUNT(*) as votes FROM `votes`, `options` WHERE `votes`.`option_id`=options.id AND votes.option_id IN(SELECT id FROM `options` WHERE `ques_id`='$poll_id') GROUP BY votes.option_id");
while($row=$class->fetchassoc()){
$percent=round(($row['votes']*100)/$total);
echo '<div class="option" ><span class="option">'.$row['value'].' (&nbsp;<em>'.$percent.'%&nbsp;&nbsp;,&nbsp; '.$row['votes'].'&nbsp; نظر&nbsp;</em>)</span>';
echo '<div class="bar ';
if($_POST['poll']==$row['id']) echo ' yourvote';
echo '" style="width: '.$percent.'%; " ></div></div>';
}
echo '<p id="polk">کل نظرات&nbsp;:&nbsp; '.$total.'</p>';
}
?>

soroush.r70
چهارشنبه 21 فروردین 1392, 17:22 عصر
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

soroush.r70
پنج شنبه 22 فروردین 1392, 00:31 صبح
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

soroush.r70
پنج شنبه 22 فروردین 1392, 14:55 عصر
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

soroush.r70
جمعه 23 فروردین 1392, 10:35 صبح
واقعا یه مشکل عجیبه که بهش برخوردم