|
|
|
สอบถามการ List Record ของ PHP+MYSQL จากแสดงออกมาเป็นแนวตั้งให้กลายเป็นแนวนอน |
|
|
|
|
|
|
|
อันนี้เป็นตาราง เก็บข้อมูลสายของพนักงาน ชื่อตาราง count_shift
อันนี้เป็นตาราง พนักงาน ชื่อตาราง member
จากรูปตารางหลังจากค้นหา ผลลัพท์ที่ออกมาจะเป็นแนวตั้ง แต่ผมอยากให้ ปริมาณ กับ กะ เรียงต่อจาก พนักงาน
โดยถ้าพนักงานคนไหนไม่มีข้อมูลในเดือนนั้นๆ ก็ให้ แสดงเป็น 0 ไป
เหมือนในตารางข้างบนนี้ครับ (ทำใน php ไม่ได้ ขอทำตัวอย่างจาก Excel นะครับ T___T )
ตัวนี้เป็น code ที่ใช้ select ข้อมูลครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<?php
include "dbconn.php";
$strSQL = "SELECT * FROM count_shift";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResultmonth = mysql_fetch_assoc($objQuery);
function month_thai($objResult){
switch ($objResult) {
case 1:
echo "มกราคม";
break;
case 2:
echo "กุมภาพันธ์";
break;
case 3:
echo "มีนาคม";
break;
case 4:
echo "เมษายน";
break;
case 5:
echo "พฤษภาคม";
break;
case 6:
echo "มิถุนายน";
break;
case 7:
echo "กรกฎาคม";
break;
case 8:
echo "สิงหาคม";
break;
case 9:
echo "กันยายน";
break;
case 10:
echo "ตุลาคม";
break;
case 11:
echo "พฤศจิกายน";
break;
case 12:
echo "ธันวาคม";
break;
}
}
?>
สรุปรายละเอียดปริมาณสาย ตั้งแต่ เดือน <?php echo month_thai($_POST["SelectMM1"]); ?> ปี <?php echo $_POST["SelectYY1"]; ?> ถึง เดือน <?php echo month_thai($_POST["SelectMM2"]); ?> ปี <?php echo $_POST["SelectYY2"]; ?><br /><br />
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse;border: 1px solid>
<?php
/*
<tr align="center">
<td align="center" style="border-collapse:collapse;border: 1px solid;" rowspan="2">พนักงาน</td>
<td align="center" style="border-collapse:collapse;border: 1px solid;" rowspan="2">ปริมาณ</td>
<td align="center" style="border-collapse:collapse;border: 1px solid;" rowspan="2">กะ</td>
<td align="center" style="border-collapse:collapse;border: 1px solid;" rowspan="2">เดือน</td>
*/
?>
<tr align="center">
<th rowspan="2" scope="col">พนักงาน</th>
<?php
$strSQL = "SELECT count_shift.*, member.* FROM count_shift RIGHT JOIN member ON member.username = count_shift.cs_agent WHERE count_shift.cs_yyyymm BETWEEN ".$_POST["SelectYY1"]."".$_POST["SelectMM1"]." AND ".$_POST["SelectYY2"]."".$_POST["SelectMM2"]." GROUP BY cs_month ORDER BY cs_year, cs_month, username";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResultmonth = mysql_fetch_array($objQuery))
{
?>
<th colspan="2" scope="col"><?php echo month_thai($objResultmonth["cs_month"]);?></th>
<?php
}
?>
<th rowspan="2" scope="col">รวมจำนวนสาย</th>
</tr>
<tr>
<?php
$strSQL = "SELECT count_shift.*, member.* FROM count_shift RIGHT JOIN member ON member.username = count_shift.cs_agent WHERE count_shift.cs_yyyymm BETWEEN ".$_POST["SelectYY1"]."".$_POST["SelectMM1"]." AND ".$_POST["SelectYY2"]."".$_POST["SelectMM2"]." GROUP BY cs_month ORDER BY cs_year, cs_month, username";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResultmonth = mysql_fetch_array($objQuery))
{
?>
<td><div align="center">ปริมาณ</div></td>
<td><div align="center">กะ</div></td>
<?php
}
?>
</tr>
<?php
$strSQL = "SELECT count_shift.*, member.* FROM count_shift RIGHT JOIN member ON member.username = count_shift.cs_agent WHERE count_shift.cs_yyyymm BETWEEN ".$_POST["SelectYY1"]."".$_POST["SelectMM1"]." AND ".$_POST["SelectYY2"]."".$_POST["SelectMM2"]." ORDER BY cs_year, cs_month, cs_agent";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResultmonth = mysql_fetch_array($objQuery))
{
?>
<tr>
<th align="left" scope="row"><?php echo $objResultmonth["thname"];?> <?php echo $objResultmonth["thlastname"];?> (<?php echo $objResultmonth["cs_agent"];?>)</th>
<td><div align="center"><?php echo $objResultmonth["cs_callcount"]; ?></div></td>
<td><div align="center"><?php echo $objResultmonth["cs_shifttype"]; ?></div></td>
<?php
$strSQL = "SELECT SUM(count_shift.cs_callcount) AS sumcall,count_shift.*, member.* FROM count_shift RIGHT JOIN member ON member.username = count_shift.cs_agent WHERE count_shift.cs_yyyymm BETWEEN ".$_POST["SelectYY1"]."".$_POST["SelectMM1"]." AND ".$_POST["SelectYY2"]."".$_POST["SelectMM2"]." GROUP BY cs_agent ORDER BY cs_year, cs_month, cs_agent";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResultmonth = mysql_fetch_array($objQuery))
{
?>
<td><div align="center"><?php echo $objResultmonth["sumcall"]; ?></div></td>
<?php
}
?>
</tr>
</table>
</body>
</html>
ขอความกรุณาทุกๆท่าน ช่วยบอกวิธีแก้ไขหรือปรับปรุง code ของผมด้วยนะครับ
ขอขอบคุณทุกๆท่าน ล่วงหน้ามา ณ โอกาสนี้เลย ____/\____
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2014-11-29 14:40:21 |
By :
THENBA1 |
View :
2108 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูจาก Concept ก็น่าจะไปถูกทางแล้วน่ะครับ คือเขียนที่ Query เดียวมันยาก ก็จะต้องอาศัย Loop ใน <td> แล้วค่อย Query ครับ ว่าแต่จาก Code นี้ยังติดตรงไหนครับ
|
|
|
|
|
Date :
2014-12-01 14:06:34 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|