PDA

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



shahinshyd
جمعه 11 شهریور 1390, 13:56 عصر
با سلام
من یک سیستم نظر سنجی تو سایت دارم که به این صورته:
1-جدول درج سوال (id-soal-active)
2-جدول کاندید(aid-candid-tedad nazar)

خوب واسه درج نظر من یک ای دی به سوال میدم و ای دی کاندید هاش رو هم برابر ای دی سوال قرار میدم.
تا اینجا اطلاعات درست وارد میشه اگه نظر سنجی ما یکی باشه مشکلی نیست ولی واسه نمایش دو تا نظر سنجی مشکل دارم
من دوتا سوال وارد کردم و هر کدام 4 تا کاندید دارند
حالا برای نمایش این دو نظر سنجی از این دو کوئری استفاده کردم که جواب نداد


$read=mysql_query('SELECT * FROM poll_results, poll_soal WHERE poll_soal.id = poll_results.aid and active=1');
$readd=mysql_query('SELECT soal FROM poll_results, poll_soal WHERE poll_soal.id = poll_results.aid and active=1 limit 1');
$raww=mysql_fetch_assoc($readd);
if(mysql_num_rows($read)>0)
{
echo'<body><div class="xmenu"><div class="naz">
<form method=post action="nazar.php">
<table width="205px" border="0" dir="rtl" align="center">
//namayesh soal nazar sanji
<tr><td class="nsoal">'.$raww['soal'].'</td></tr>
';
//inja kandidha bar asas id soal namayesh dade mishe
while($raw=mysql_fetch_assoc($read))
{
echo '
<tr><td>'.$raw['candidate'].'</td><td><input type=radio name="vote" value="'.$raw['candidate'].'"/></td></tr>
';
}
echo '
<tr><td></td></tr>
<tr><td ><input type=submit value="ارسال"/></td></tr>
<tr><td><a href="pollresult.php">نتايج</a></td><td></td></tr>
</table></form></div></div></body>';
}

در کوئری دوم اگه لیمیت یک رو بذارم فقط یک سوال ما نمایش داده میشه با کل کاندید ها یعنی فرقی نداره ای دی اون چی باشه اگه لیمیت رو بردارم چون جدول سوال نظر سنجی ما که شامل دو تا سواله کوئریش 8 تا رکورد داره چون 4 تا کاندید ای دیش با یه سوال براره و چهار تای دیگه با اون سوال ونمایش کلا بهم میخوره

رضا قربانی
جمعه 11 شهریور 1390, 14:45 عصر
یک آی دی از نوع type="hidden" همراه با ارسال نظر ارسال کن (آی دی مخفی رو می تونی id سوال در نظر بگیری )

موقع نمایش هم میایی این آی دی رو میندازی داخل یک متغیر مثلا $id که به صورت پست دریافتش می کنی و در آخر
برای نمایش می گید


$sql="select * from `tbl_.....` where id=$id";

Net So
جمعه 11 شهریور 1390, 15:33 عصر
هنوز کل پستت رو نخوندم ولی تا همینجا هم کوئری باید اینطوری باشه :


$Read_Query = "SELECT * FROM poll_results,poll_soal WHERE (poll_soal.id = poll_results.aid) AND active = `1` " ;
$Read = mysql_query($Read_Query);

$ReadD_Query = "SELECT * FROM poll_results,poll_soal WHERE (poll_soal.id = poll_results.aid) AND active = `1` LIMIT 0,1 " ;
$readD = mysql_query($ReadD_Query);

shahinshyd
جمعه 11 شهریور 1390, 16:59 عصر
با تشکر
مشکل من این هست که تعداد کاندید های ما معلوم نیست شاید یه جا 6 تا باشه
اگر معلوم بود ما به ازای هر سوال یک رکورد ثبت رای داشتیم که کار ما خیلی راحت تر می شد ولی همونطور که تو شکل میبینید ما دو تا نظر سنجی داریم که یکی 5 تا کاندید داره یکی 4 تا
http://1.almas.comlu.com/images/96bd33584d95.gif

وقتی هم دو تا کوئری پست 1رو میگیرم نتیجشون به شکل زیره که دومی مشکل داره یعنی میخوام هر سوال ما فقط یک بار نمایش داده بشه نه چهار بار!
http://1.almas.comlu.com/images/f4768b4bd4a2.gif