ขอถามเรื่อง การนับจำนวนผู้ตอบกระทู้ ถ้าในฐานข้อมูลเทเบิ้ล ans เป็นอย่างงี้ ผมจะต้องเขียนโค้ดยังไง
ถ้าตารางนี้เป็นตารางการตอบกระทู้ ก็ใช้ mssql_num_rows() ไปเลยครับ เช่น
Code (PHP)
<?
$sql="select * from ans where ฟิลด์คำถามที่ตอบ = ฟิลด์คำถามที่ตั้ง";
$query=mssql_query($sql);
$rs=mssql_num_rows($squery);
echo "จำนวนผู้ตอบกระทู้ :".$rs ."คน";
?>
ประวัติการแก้ไข 2010-08-21 00:09:38 2010-08-21 00:10:01
Date :
2010-08-20 23:46:02
By :
Manussawin
ผมว่าโค้ดน่าจะประมาณนี้ แต่มันติดตรงปริ้นท์ออกมาเนี่ยละครับ ทำยังไงจะให้ค่าในลูป while ของนับจำนวนผู้ตอบกระทู้ ออกไปใช้ข้างนอกได้
Code (PHP)
<?
print"<table width=532 border=1 align=center cellpadding=1 cellspacing=1 bordercolor=0000FF>";
print"<tr>";
print"<td width=703>";
print"<table width=532 align=center>";
print"<tr bgcolor=003399>";
print"<td align = center><font color=FF6600><b>รหัสกระทู้</b></font></td>";
print"<td align=center><font color=FF6600><b>หัวข้อกระทู้</b></font></td>";
print"<td align=center><font color=FF6600><b>ผู้ตั้งคำถาม</b></font></td>";
print"<td align=center><font color=FF6600><b>วันที่ตั้งคำถาม</b></font></td>";
print"<td align=center><font color=FF6600><b>จำนวนผู้ตอบ</b></font></td>";
if(!empty($admin))
{print"<td align=center><font color=FF6600><b>delete</b></font></td>";}
print"</tr>";
include('config.inc.php');
$sql="Select * From quiz Order By id_question DESC"; //ผมว่าน่าจะประมาณนี้นับจำนวนผู้ตอบกระทู้
$result=mssql_query($sql);
while($row=mssql_fetch_array($result))
{
$id_question=$row['id_question'];
$sql_a="Select * From ans Where id_question='$id_question' ";
$result_a=mssql_query($sql_a);
$sum=mssql_num_rows($result_a);}
$sql="select*from quiz order by id_question desc"; //พวกนี้จะเป็นดึงกระทู้ขึ้นมาโชว์ครับ
$dbquery= mssql_query($sql);
$num_rows=mssql_num_rows($dbquery);
$i=0;
while($i<$num_rows)
{
$rs=mssql_fetch_array($dbquery);
$id_question=$rs[id_question];
$title=$rs[title];
$name=$rs[name];
$message=$$rs[message];
$email=$rs[email];
$date_q=$rs[date_q];
$count_q=$rs[count_q];
print"<tr bgcolor=CCCCCC>";
print"<td>".$id_question."</td>";
print"<td><A HREF=\"ans.php?id_question=$id_question\"target=\"$id_question\">$title</A></td>";
print"<td>".$name."</td>";
print"<td>".$date_q."</td>";
print"<td>".$sum."</td>"; //จะนำค่าที่ได้มาใส่ตรงนี้ครับ
if(!empty($admin))
{print"<td><A HREF=\"del_webboard_admin.php?id_question=$id_question\">delete</a></td>";}
print"</tr>";
$i++;
}
print"</table>";
mssql_close();
print"</td>";
print"</tr>";
print"</table>";
?>
Date :
2010-08-20 23:58:34
By :
tanikul
คือคุณต้องการที่จะแสดง จำนวนคนตอบกระทู้ตรงไหนครับ ลองเอาหน้าตามาดูครับว่าจะให้มันแสดงตรงไหน คือผมคิดว่าหากจะนับการตอบกระทู้ ของกระทู้ ที่ .... ใน table การตอบก็ต้องเก็บ id ของกระทู้ที่ตอบไปด้วย แล้วก็สั่งให้มันนับ แถวการตอบใน table การตอบ โดยมีเงื่อนไขนับเฉพาะ id กระทู้ที่เราเข้าไปชม เท่านั้น
อีกวิธีก็ select count * from table ตามด้วยเงื่อนไข
ประวัติการแก้ไข 2010-08-21 00:14:35 2010-08-21 00:16:40
Date :
2010-08-21 00:08:04
By :
Manussawin
ปริ้นท์ออกมาได้อย่างงี้ครับ
Code (PHP)
<?
include('config.inc.php');
$sql="Select * From quiz Order By id_question DESC"; //ผมว่าน่าจะประมาณนี้นับจำนวนผู้ตอบกระทู้
$result=mssql_query($sql);
while($row=mssql_fetch_array($result))
{
$id_question=$row['id_question'];
$sql_a="Select * From ans Where id_question='$id_question' ";
$result_a=mssql_query($sql_a);
$sum=mssql_num_rows($result_a);
echo $sum."<br>";}
?>
ถ้าเอาชุดคำสั่งนี้ไปรันอีกหน้าหนึ่งดู จะได้
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
ซึ่งเข้าใจว่าเป็นผลของจำนวนผู้ตอบกระทู้ครับ
นี้ในส่วนของตาราง ans
นี้ในส่วนของตาราง quiz ครับ
คือปัญหามันอยู่ที่ว่าจะนำค่า $sum ในลูป while ออกมาใช้นอกลูปยังไงครับ
ขอบคุณครับ
ประวัติการแก้ไข 2010-08-21 00:50:05 2010-08-21 00:52:45 2010-08-21 00:56:18 2010-08-21 00:58:31
Date :
2010-08-21 00:49:41
By :
tanikul
เขียนเป็น query ก้ได้น่ะครับ จะได้ฟิวด์ในตาตาง quiz ทั้งหมด และฟิว์ชื่อ numReply เป็นผู้ตอบกระทู้
SELECT a.id_question,a.title,a.name,a.message,a.name,a.date_q,a.ip_address,count(b.id_question) as numReply FROM quiz a, ans b
WHERE 1=1
AND a.id_question_id = b.id_question
GROUP BY a.id_question,a.title,a.name,a.message,a.name,a.date_q,a.ip_address
ORDER BY a.id_question DESC
ประวัติการแก้ไข 2010-08-21 07:11:59
Date :
2010-08-21 07:11:42
By :
webmaster
ผมก็มีความต้องการตัวเลขของจำนวนผู้ตอบเช่นเดียวกันครับ แบบฟอร์ม ฐานข้อมูล ตาราง เหมือนกันยังหาโค๊ดไม่ได้ มีผู้ตอบแล้วแต่ไม่มีตัวเลขแสดงในช่องผู้ตอบเลย ทำไม่เป็น..ช่วยอนุเคราะห์ขอโค๊ดด้วยครับ..แนะนำด้วยครับ
Date :
2010-10-25 14:30:03
By :
สมคิด
Load balance : Server 05