อยากทำ คะเเนนให้หอพัก จากฐานข้อมูล รีวิวหอพัก ครับรบกวนหน่อยครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา อยากทำ คะเเนนให้หอพัก จากฐานข้อมูล รีวิวหอพัก ครับรบกวนหน่อยครับ

อยากทำ คะเเนนให้หอพัก จากฐานข้อมูล รีวิวหอพัก ครับรบกวนหน่อยครับ


 
 
คือ จากรูปภาพคือ ก็จะมี member_id ที่จะเป็นตัวบ่งชี้ว่าเป็นการรีวิว ของหอพักไหน
เเละ re_star ก็คือคะเเนนความพึงพอใจ    ผมอยากได้้ข้อมูลตัวเลขของ 
 
-คนรีวิวหอพัก 1 ที่ให้  คะเเนน 1 มีกี่คนม,ให้คะเเนน 2 มีกี่คน,ให้คะเเนน 3 มีกี่คน,ให้คะเเนน 4 มีกี่คน,ให้คะเเนน 5 มีกี่คน (ข้อมูล 5 ตัว)
-คนทั้งหมดที่รีวิวหอพัก 1 (ข้อมูล 1 ตัว)
 
ผมต้องใช้ค่าพวกนี้ไปคำนวนความพึงพอใจโดยรวยตามสูตรที่ผมคิดไว้
(ระดับความพอใจ=1)*(คนทั้งหมดที่ให้ความพอใจ=1) / (คนทั้งหมดที่มารีวิวหอพัก1)=$1(สมุติตัวเเปรนะครับ)
(ระดับความพอใจ=2)*(คนทั้งหมดที่ให้ความพอใจ=2) / (คนทั้งหมดที่มารีวิวหอพัก1)=$2(สมุติตัวเเปรนะครับ)
(ระดับความพอใจ=3)*(คนทั้งหมดที่ให้ความพอใจ=3) / (คนทั้งหมดที่มารีวิวหอพัก1)=$3(สมุติตัวเเปรนะครับ)
(ระดับความพอใจ=4)*(คนทั้งหมดที่ให้ความพอใจ=4) / (คนทั้งหมดที่มารีวิวหอพัก1)=$4(สมุติตัวเเปรนะครับ)
(ระดับความพอใจ=5)*(คนทั้งหมดที่ให้ความพอใจ=5) / (คนทั้งหมดที่มารีวิวหอพัก1)=$5(สมุติตัวเเปรนะครับ)
 
$1+$2+$3+$4+$5 = ค่าความพึ่งพอใจโดยรวมของหอพัก 1


Attapol Khaiwluea 26-03-2019 21:00:44

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ถ้าสมมติ หอพัก 1 ทั้งหมดมี 1 คน ให้ 3 คะแนน ความเพึงพอใจโดยรวมคือ
  • 1*0/1+2*0/1+3*1/1+4*0/1+5*0/1 
  • (1*0 + 2*0 + 3*1 + 4*0 + 5*0 ) /1
  • คะแนนรวม / จำนวนคนทั้งหมด 
  • SUM(re_star)/COUNT(member_id)
  • SELECT SUM(re_star)/COUNT(member_id) FROM table GROUP BY re_id

ลองคำสั่ง SQL ด้านล่างเป็นแนวทางเพิ่มเติม

SELECT
(SUM(IF(star=1,1,0))*1)/COUNT(mem_id) as s1,
(SUM(IF(star=2,1,0))*2)/COUNT(mem_id) as s2,
(SUM(IF(star=3,1,0))*3)/COUNT(mem_id) as s3,
(SUM(IF(star=4,1,0))*4)/COUNT(mem_id) as s4,
(SUM(IF(star=5,1,0))*5)/COUNT(mem_id) as s5,
COUNT(mem_id) as total_review,
SUM(star) as total_star
FROM
review
GROUP BY res_id


ninenik 26-03-2019
 ความคิดเห็นที่ 2
ขอตัวอย่าง การนำไปใช้กับ php หน่อยได้ไหมครับ จะขอบคุนมากเลยครับถ้ามีผลลัพท์มาให้ดูด้วย (ขอบคุนครับ)


Attapol Khaiwluea 31-03-2019 00:03
 ความคิดเห็นที่ 3
  $sql="SELECT
a.member_id,a.dorm_name,a.dorm_province,a.dorm_unit,a.dorm_room,b.room_img1,b.room_wifi,b.room_park,b.room_air,b.room_fan,b.room_bed,b.room_pm,b.room_pt,c.re_star
FROM dorm a, room b, reviews c
WHERE a.member_id=b.member_id AND a.member_id=c.member_id
ORDER BY a.dorm_id ";
 
 
 
  $result=mysql_query($sql);
  $row=array();
  while ($r=mysql_fetch_assoc($result)) {
            $id=$r["member_id"];
   $name=$r["dorm_name"];
   $province=$r["dorm_province"];
   $unit=$r["dorm_unit"];
   $room=$r["dorm_room"];
   $img1=$r["room_img1"];
   $wifi=$r["room_wifi"];
   $park=$r["room_park"];
   
   $air=$r["room_air"];
   $fan=$r["room_fan"];
   $bed=$r["room_bed"];
   $pm=$r["room_pm"];
   $pt=$r["room_pt"];
   $star=$r["re_star"];

ผมใช้พวกนี้ เเสดง รายชื่อหอพักทุกหอที่มี ในฐานข้อมูล เเต่ผมอยากได้ คะเเนนที่คิดเเล้ว เเปะไว้ที่หอพักเเต่ละหอคับ


Attapol Khaiwluea 31-03-2019 04:27
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ