เกี่ยวกับการ sum ค่าในตารางครับ สมมุตินะครับ id price 1 20 2 30 1 40 1 10 3 50 จะเขียนโค๊ดยังไง ที่ให้ id เหมือนกัน
สมมุตินะครับ
id price
1 20
2 30
1 40
1 10
3 50
จะเขียนโค๊ดยังไง ที่ให้ id เหมือนกัน ให้บวก id เหมือนกัน กรณีที่ไม่อยู่ใน loop while จะไม่มีปัญหาครับ แค่อ้างอิง id เดียวแล้วทำการบวก
แต่กรณีนี้ มันอยู่ใน loop while มันเลยบวกกันมั่วเลยนะครับ ตัวอย่าง
$sql1 = $db->select("pk_id,id","table1",null,null,null,null)
while($row = $db->fetch_arr($sql1)){
$sql2 = $db->select("price","table2","id = 'id = $row[id]'",null,null,null);
while($row2 = $db->fetch_arr($sql2)){
$total_price = $total_price+$row2['price'];///////จะบวกผิด โดยการ บวกไปเรื่อยๆ อ่ะครับ มันไม่ยอมบวก ที่ id เหมือนกัน แต่มันบอกรวมหมดเลย
}//end while table2
}///end while table1
รบกวนทีนะครับ ขอบพระคุณอย่างสูงTag : - - - -
Date :
2010-05-19 13:15:58
By :
ช่วยด้วย
View :
2376
Reply :
2
ตรง select ไม่ใส่เงื่อนไขที่มันระบุว่าเอาไอดีเหมือนกันออกมาล่ะ อย่างนี้มันก็เอามาหมดทุกตัวดิ ปกติ fetch_array มันจะเอาออกมาได้แค่แถวเดียวใช่มะ แต่เราใส่ while ข้าไปเพื่อมันวนดึงข้อมูลออกมาในทุกๆแถว แต่มันก็ขึ้นอยู่กับเงื่อนไขในการ select เท่านั้นเอง พอมีแนวยังครับ
Date :
2010-05-19 13:46:29
By :
Manussawin
ใช้ฟังก์ชัน sum ของ sql ก็ได้น่ะ
select sum(price) from table group by id
Date :
2010-05-20 03:24:29
By :
xbeginner01
Load balance : Server 00