 |
สอบถามเรื่องการ query ข้อมูล แบบแยกตามกลุ่มและตามเดือนค่ะ |
|
 |
|
|
 |
 |
|
ขอบคุณมากค่ะ 
แ้ล้วถ้าเราต้องการเฉพาะข้อมูลของเดือน 10 หรือแยกเฉพาะเป็นรายเดือน
จะแยกยังไงค่ะ
ขอบคุณค่ะ
|
 |
 |
 |
 |
Date :
2012-10-11 11:39:59 |
By :
pum374 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แยกได้แล้วค่ะ ขอบคุณคุณ thep มากค่ะ
แต่ตอนนี้ติดปัญหาอีกแล้วค่ะ  
จะนำเอาค่าที่ได้มาใส่ในตารางนี้ ยังไงค่ะ แบบว่ามือใหม่ยังไม่ค่อยชำนาญเรื่อง php กับ mysql เลย
ขอบคุณมากค่ะ

|
 |
 |
 |
 |
Date :
2012-10-11 13:20:56 |
By :
pum374 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันต้องเอาไปใส่ array ครับ
เดี๋ยวทำ ตัวอย่างให้ดู ครับ
|
 |
 |
 |
 |
Date :
2012-10-11 15:17:40 |
By :
thep |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$i = 0;
$sql = "select count(*) as cnt from tbgroup";
$rs = mysql_query($sql,$conn);
$Cnt = mysql_result($rs, 0, 0 ); // หาจำนวน group name ทั้งหมด
$aryData[$Cnt][12]; // จำนวนเดือนที่มี = 12
$sql = "select name from tbgroup order by name asc";
$rs = mysql_query($sql,$conn) or die("Error Query [".$sql."]");
while ($objResult = mysql_fetch_array($rs)){
$aryData[$i][0] = $objResult["name"]; // เก็บค่า group name
$i += 1;
}
$sql = "select (sum(budget1) + sum(budget2) + sum(budget3) + sum(budget4) + sum(budget5)) as sm";
$sql .= ",b.name,year(decrease_date) as y,month(decrease_date) as m ";
$sql .= "from decrease as a left outer join tbgroup as b on a.group_id = b.group_id";
$sql .= "group by b.name,year(decrease_date),month(decrease_date)";
$sql .= "order by b.name,year(decrease_date),month(decrease_date) asc";
$rs = mysql_query($sql,$conn) or die("Error Query [".$sql."]");
while ($objResult = mysql_fetch_array($rs)){
for($i=0;$i<$Cnt;$i++){
if($aryData[$i][0] == $objResult["name"]){ // ถ้า group name เท่ากัน
$aryData[$i][$objResult["m"]] = $objResult["sm"]; // ให้เอา ข้อมูลที่ได้ ไปใส่ในช่อง array ของเดือน นั้นๆ
break;
}
}
}
echo "<table>";
echo "<tr>";
echo "<td>หมวด</td>";
for($i=1;$i<=12;$i++){
echo "<td>เดือน ".$i."</td>";
}
echo "</tr>";
for($i=0;$i<$Cnt;$i++){
echo "<tr>";
for($j=0;$j<=12;$j++){
echo "<td>".$aryData[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table>";
ลองดู ครับ ว่าใช้ได้ไหม? พอดีไม่มีข้อมูล test ก็เลยไม่รู้ว่า มี Error ตรงไหนหรือเปล่า 
|
 |
 |
 |
 |
Date :
2012-10-11 15:50:43 |
By :
thep |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|