Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > สอบถามเรื่อ arsort() ครับ ที่ไม่ต้องการตอนคำสั่ง query เรียงแบบ asc, desc



 

สอบถามเรื่อ arsort() ครับ ที่ไม่ต้องการตอนคำสั่ง query เรียงแบบ asc, desc

 



Topic : 071711



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์




คือว่าผมหาค่าเฉลี่ยครับ โดยได้จาก 3 ฟิลด์ หารด้วย 3 ดังโค้ดด้านล่างครับ แต่ไม่ต้องการให้สั่งเรียงโดยใช้ query ตอน select จะเป็นไปได้มั้ยครับ

โค้ด

Code (PHP)
while($rs=mysql_fetch_array($sql_query)){
$total=($a1+$a2+$a3)/3;

$a=array("$total");

arsort($a);
foreach($a as $key => $value){
 echo $value."<br>";	
}

}


คำอธิบาย
ผมลองเพิ่มข้อมุลใน table และ สั่งให้ sum 3 ฟิลด์และหารด้วย 3 เป็นค่าเฉลี่ย คือผม เก็บข้อมูล 3 ช่องครับ เลยได้โค้ดแบบด้านบน
ผลที่รันใน mysql จะได้ค่า sum และหารด้วย 3 ออกมา 3 ค่าคือ $total = 4, 2.8, 5

แต่พอผมส่งรันตามโค้ดด้านบน จะออกมาแบบนี้ครับ
array
array
array

แต่พอย้าย foreach มาอยู่นอก while ได้ ค่า 5 มาค่าเดียว ค่าอื่นๆ ไม่เกิด เข้าใจว่า ค่า $total เมื่อทำการ sum มาแล้ว ควรเก็บแบบ array แบบนี้ array(4,2.8,5);

แต่ผมทำให้อยู่ในรูปแบบนี้ไม่ได้อะครับ ยังลบกวนดูให้หน่อยครับว่าโค้ดถูกหรือเปล่า ผลลัพธ์ที่ควรจะเป็นคือ

5
4
2.8

ขอบคุณครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-01-11 13:08:32 By : sakdalll View : 1108 Reply : 6
 

 

No. 1



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์


ดันๆๆๆ คับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-11 22:04:46 By : sakdalll
 


 

No. 2



โพสกระทู้ ( 1,579 )
บทความ ( 3 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Code (PHP)
while($rs=mysql_fetch_array($sql_query)){
$total=($a1+$a2+$a3)/3;
$a=$total[];
}
arsort($a);
foreach($a as $key => $value){
 echo $value."<br>";	
}


แบบนี้เปล่าจะเอา foreach อยู่นอก while ใช้เปล่า ลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-11 22:42:54 By : somparn
 

 

No. 3



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ ไม่ได้ครับ มันบอกว่า Cannot use [] for reading

ต้องแก้ยังไงครับ นั่งงม สลับไปสลับมาก็ไม่ได้เลย เอิกๆๆ รบกวนด้วยนะครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-12 21:07:09 By : sakdalll
 


 

No. 4



โพสกระทู้ ( 1,579 )
บทความ ( 3 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


$a1+$a2+$a3 มาจากไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-12 21:17:49 By : somparn
 


 

No. 5



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์


มาจาก 3 ฟิลด์ ใน ตารางครับ ตารางเป็นงี้ครับ (ที่รูป)

ผมจะ sum ค่า a1, a2, a3 และ group by ref_subject_id ก่อนครับ แล้ว ค่อยเอา ค่า sum ที่ได้ของแต่ละ record มาบวกกัน

a1+a2+a3/3 = ค่าเฉลี่ยที่ต้องการ

ฉะนั้น ตามภาพ ควรจะได้ 2 ค่า และให้เรียงจากมาไปน้อย ครับ แต่ผมติดปัญหาตรงที่น่าจะออกแบบ db ผิดตั้งแต่แรก เลยไม่อยากรื้อใหม่ เลยต้องหาวิธีใหม่มาช่วยครับ โดยการใช้ arsort ทีนี้ ค่าเหล่านี้อยู่ใน while ผมถึงต้องทำให้ ค่าที่เรา sum และก้หารเสร็จแล้ว ออกมาให้อยู่ในรูปแบบ array คือ $total=array(2,3); แบบนี้ก่อน แต่ทำไม่ได้ครับ ไม่เป็น อิอิ พอจะเข้าใจที่ผมอธิบายหรือเปล่าครับ ผมก็ไม่รู้ว่าอธิบายได้เข้าใจหรือเปล่า ขอบคุณมากนะครับ

table


ประวัติการแก้ไข
2012-01-12 21:31:59
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-12 21:30:50 By : sakdalll
 


 

No. 6



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์


ดันๆๆๆ ครับผม ช่วยหน่อยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-12 22:51:02 By : sakdalll
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่อ arsort() ครับ ที่ไม่ต้องการตอนคำสั่ง query เรียงแบบ asc, desc
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่