การหาอัดับของผลรวมคะแนน HomeForumการหาอัดับของผลรวมคะแนน nutthavp สอบถาม อ.ครับ ผมต้องการกำหนดอันดับของคะแนนสอบ จากการ SUM(SCORE) ตามรูปครับ ตอนนี้ผมแสดงแต่ละคนได้ แต่ไม่รู้จะเขียนโค๊ดยังไงให้แสดงว่าใครได้อันดับที่เท่าไหร่ ซึ่งเรียงตามหมายเลขประจำตัว และอันดับตรงตามคะแนนของแต่ละคนครับ ช่วยหน่อยครับ กรกฎ วิริยะ จริงๆแล้วก็แนะนำให้ทำ query 2 ครั้งนะครับ ครั้งแรกให้เรียงลำดับตาม score เพื่อหาอันดับก่อน โดยเก็บ id ไว้ เช่น <?php $datas[47001203]=1; $datas[47001202]=2; ......... ?> query ให้ได้ผลลัพท์แบบนี้ (ก็ query ธรรมดาแหละ) สังเกตว่าผมใช้ key ของ array เป็นหมายเลขประจำตัว ครั้งที่ 2 query เพื่อให้ได้ข้อมูลตามตารางที่แนบมา โดยให้เรียงตามลำดับ หมายเลขประจำตัว ในกรณีนี้จะไม่มีอันดับ...ผลลัพท์ก็ตามตารางนั่นแหละเป๊ะเลย <?php for {.... // loop ผลลัพท์การ query เรียงตามลำดับหมายเลขสมาชิก echo "<tr>$result[member_id]</tr>"; // หมายเลขประจำตัว 47001203 ....... echo "<tr>".$datas[$result['member_id']]."</tr>"; // อันดับ $datas[47001203] } ?> ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
ครั้งแรกให้เรียงลำดับตาม score เพื่อหาอันดับก่อน โดยเก็บ id ไว้ เช่น
<?php
$datas[47001203]=1;
$datas[47001202]=2;
.........
?>
query ให้ได้ผลลัพท์แบบนี้ (ก็ query ธรรมดาแหละ) สังเกตว่าผมใช้ key ของ array เป็นหมายเลขประจำตัว
ครั้งที่ 2 query เพื่อให้ได้ข้อมูลตามตารางที่แนบมา โดยให้เรียงตามลำดับ หมายเลขประจำตัว ในกรณีนี้จะไม่มีอันดับ...ผลลัพท์ก็ตามตารางนั่นแหละเป๊ะเลย
<?php
for {....
// loop ผลลัพท์การ query เรียงตามลำดับหมายเลขสมาชิก
echo "<tr>$result[member_id]</tr>"; // หมายเลขประจำตัว 47001203
.......
echo "<tr>".$datas[$result['member_id']]."</tr>"; // อันดับ $datas[47001203]
}
?>