|
|
|
เรื่อง การแบ่งกลุ่ม โดยใช้ array foreach ครับ ตอนนี้ผมสับสนเรื่องการ ใช้ loop foreach มากเลยครับ |
|
|
|
|
|
|
|
ตามความคิดผมนะครับ
Code (PHP)
<?php
$sql="Select id_group form group ";
$dbgroup=mysql_db_query($db,$sql);
$num_group=@mysql_num_rows($dbgroup);
$ct=0;
$i = 0;
while($ct <$num_group)
{
$rs= mysql_fetch_array($dbgroup);
$grp=$rs[id_group];
if($grp == '00001')
{ $arr_grp[$ct++] = $grp ; $ct++; } else {$arr_grp2[$i++] $grp; $i++; }
$i++;
}
?>
------------------------------
Code (PHP)
<?php
foreach($arr_grp as $v){
echo $v,"<br>"; }
foreach($arr_grp2 as $v2) {
echo $v2,"<br>";
}
?>
|
|
|
|
|
Date :
2009-07-09 13:10:30 |
By :
juder |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วถ้ามีมีกกว่า 2 กลุ่มเราก็ต้องใส่ if หลายตัวเหรอครับ
มีวิธีใหนที่เช็ค เหมอืน distinct คือเก็บค่าไว้ 1 ตัวแล้วเช็คว่า ถ้าค่าเปลี่ยนแล้วค่อย ขึ้นกลุ่มใหม่มีไหมครับ
|
|
|
|
|
Date :
2009-07-09 13:22:20 |
By :
มือใหม่ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
database เป็นยังไงบ้างครับ ดูเหมือนแค่ join table แล้ว order by ก็น่าจะจบ
|
|
|
|
|
Date :
2009-07-09 14:44:32 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ มันจะต้อง มีการคำนวน ครับ จะคำนวนเป็น กลุ่มๆ
อย่างที่ยกตัวอย่างไป กลุ่ม 1 ก็จะนำคะแนน ที่ได้ทั้งหมด มา หาค่าเฉลี่ย ครับ
ที่ผมทำไว้ ในสูตร มันจะกลายเป็นค่า สะสม ของทุกลุ่ม + กันไปเรื่อยๆ เช่น
ที่ต้องการเป็นแบบนี้ครับ
กลุ่มที่ 1
00001 | id_no001 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 70
00001 | id_no002 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 60
00001 | id_no002 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 65
สรุป กลุ่ม 1 = ค่าเฉลี่ย คะแนนประเมิน 65
00002
00002 | id_no001 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 55
00002 | id_no002 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 60
00002 | id_no002 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 50
สรุป กลุ่ม 2 = ค่าเฉลี่ย คะแนนประเมิน 55
แต่ตอนนี้มันเป็น
กลุ่มที่ 1
00001 | id_no001 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 70
00001 | id_no002 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 60
00001 | id_no002 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 65
สรุป กลุ่ม 1 จำนวน 3 คน= ค่าเฉลี่ย คะแนนประเมิน 65
00002
00002 | id_no001 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 55
00002 | id_no002 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 60
00002 | id_no002 | รายละเอียดอื่น1 | รายละเอียดอื่น2 | คะแนนประเมิน 50
สรุป กลุ่ม 2 จำนวน 6 คน= ค่าเฉลี่ย คะแนนประเมิน 60
คือ มันเอา ของกลุ่มที่ 1และ 2 มารวมกันแล้ว เฉลี่ยครับ
|
|
|
|
|
Date :
2009-07-09 16:10:38 |
By :
มือใหม่ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็จะเข้ากลุ่มสอง ก็จับตัวแปรที่ใช้รวมเท่ากับ 0 ซิครับ
|
|
|
|
|
Date :
2009-07-09 17:04:25 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไงครับ รบกวนหน่อยครับ ตามที่แนะนำมาพอจะคิดออกแล้ว แต่ เราจะไปจับตรงไหนครับ คือ ว่า มัน loob ซ้อน loop อยู่นะครับ พอใส่เข้าไปแล้ว มันเป็น 0 หมดครับ
|
|
|
|
|
Date :
2009-07-09 21:30:22 |
By :
มือใหม่ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประมาณนี้ครับ
Code (PHP)
<?php
$i=0;
while .....{
อะไรก็ว่าไป
$ตัวแปรร่วม=$result(จากตารางที่ คิวรี่ออกมา);
$a=0;
while .....{
อะไรก็ว่าไป
$a++;
}
$ตัวแปรร่วม =0;
$i++;
?>
|
|
|
|
|
Date :
2009-07-09 21:54:28 |
By :
tingtongkub |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ขอบคุณมากๆเลยครับ
|
|
|
|
|
Date :
2009-07-09 23:06:03 |
By :
มือใหม่ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|