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

Registered : 108,358

HOME > PHP > PHP Forum > รบกวนสอบถามการใช้หาผลรวมข้อมูลเพื่อสรุปทำรายงานครับ (ไม่ได้ใช้นานจริงๆครับ)



 

รบกวนสอบถามการใช้หาผลรวมข้อมูลเพื่อสรุปทำรายงานครับ (ไม่ได้ใช้นานจริงๆครับ)

 



Topic : 135287



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



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




สวัสดีครับ พอดีผมไม่ได้เขียน Code มานานมากละประมาณ เกือบ 20 ปี กำลังจะมารื้นฟื้นใหม่ทั้งหมด ตอนนี้มาเจอปัญหาอยากจะรบกวนพี่ๆ ช่วยหน่อยครับ

Database
water_id // เก็บรหัสแหล่งน้ำ
prov_name // ชื่อจังหวัด
amp_name // ชื่ออำเภอ
tam_name // ชื่อตำบล ในที่นี้ต้องการนับจำนวนตำบล ว่าใน 1 อำเภอ มีกี่ตำบล count(distinct tam_name)
moo // หมู่ที่
moo_name // ชื่อหมู่บ้าน ในที่นี้ต้องการนับจำนวนหมู่บ้าน ที่อยู่ในตำบลว่ามีกี่หมู่บ้าน count(distinct moo_name)
name // ชื่อแหล่งน้ำ ในที่นี้ต้องการนับจำนวนแหล่งน้ำ ที่มีอยู่ใน อำเภอ ตำบล หมู่บ้าน count(name)
detail // ที่ตั้งแหล่งน้ำ (ที่สาธารณะ,ที่ สปก.,เขตป่าไม้,เขตป่าชุมชน,อื่นๆ) ต้องการนับ ใน อำเภอ ตำบล หมู่บ้าน มีจำนวน แหล่งน้ำเท่าไร แบ่งออก ตั้งอยู่ที่ไหนบ้าง ประมาณนี้ครับ


$strSQL = "SELECT water_id,prov_name,amp_name,count(distinct tam_name),moo,count(distinct moo_name),count(name),detail,deplete_date
FROM water_view
WHERE moo_id LIKE '%$digi_tree%' and deplete_date>'$dates' and deplete_date <'$datee'
Group BY amp_name ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");

?>
<table width="100%" border="1">
<tr>
<th width="91"> <div align="center">รหัสแหล่งน้ำ </div></th>
<th width="98"> <div align="center">จังหวัด </div></th>
<th width="198"> <div align="center">อำเภอ </div></th>
<th width="97"> <div align="center">จำนวนตำบล </div></th>
<th width="59"> <div align="center">จำนวนหมู่บ้าน </div></th>
<th width="71"> <div align="center">จำนวนแหล่งน้ำ </div></th>
<th width="71"> <div align="center">จำนวนที่สาธารณะ </div></th>
<th width="71"> <div align="center">จำนวนที่ สปก. </div></th>
<th width="71"> <div align="center">จำนวนเขตป่าไม้ </div></th>
<th width="71"> <div align="center">จำนวนเขตป่าชุมชน</div></th>
<th width="71"> <div align="center">อื่นๆ</div></th>

</tr>
<?php

$i="0";
$A1="0";
$A2="0";
$A3="0";
$A4="0";
$A5="0";
while($objResult = mysql_fetch_array($objQuery))
{
for ($i=1 ; $i<=$objResult[6];$i++){

if ($objResult["detail"]=="ที่สาธารณะ"){
$A1=$A1+1;
}elseif ($objResult["detail]=="ที่ สปก."){
$A2=$A2+1;
}elseif ($objResult["detail]=="เขตป่าไม้"){
$A3=$A3+1;
}elseif ($objResult["detail]=="เขตป่าชุมชน){
$A4=$A4+1;
}else{
$A5=$A5+1;
}

?>
<tr>
<td><div align="center"><?php echo $objResult["water_id"];?></div></td>
<td><div align="center"><?php echo $objResult["prov_name"];?></div></td>
<td><?php echo $objResult["amp_name"];?></td>
<td><?php echo $objResult[3];?></td>
<td><div align="center"><?php echo $objResult[5];?></div></td>
<td align="right"><?php echo $objResult[6];?></td>
<td align="right"><?php echo $A1;?></td>
<td align="right"><?php echo $A2;?></td>
<td align="right"><?php echo $A3;?></td>
<td align="right"><?php echo $A4;?></td>
<td align="right"><?php echo $A5;?></td>
</tr>
<?php
}




?>
</table>
<?php

mysql_close($objConnect);
}

?>
</body>
</html>



ตัวอย่าง Output



Tag : PHP, MySQL, Report Others, XAMPP, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-06-08 15:17:27 By : drakvender View : 91 Reply : 7
 

 

No. 1



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



สถานะออฟไลน์
Twitter Facebook Blogger

Is the attached image yours result target?
What is the database structure look like?
I'm afraid that you might have to redesign db.






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-08 15:35:33 By : PhrayaDev
 


 

No. 2



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



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


ขอบคุณครับ รบกวนด้วยครับ ไม่ได้ใช้งานนานจริงๆ ความรู้คืนอาจารย์ หมดละ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-08 20:05:02 By : drakvender
 

 

No. 3



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



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


https://www.thaicreate.com/php/forum/095986.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-09 09:12:46 By : mr.v
 


 

No. 4



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



สถานะออฟไลน์
Twitter Facebook Blogger

ที่ถามหาโครงสร้างตารางและตัวอย่างข้อมูล เพื่อความมั่นใจ
DB guide

ถ้าไม่อยากออกแบบฐานข้อมูลใหม่
Code (SQL)
...GROUP BY water_id


http://sqlfiddle.com/#!9/17f4ec/13/0


ตัวอย่างการใช้ใน Template

Code (PHP)
<?php

// Connection
$host_name = 'server';
$user_name = 'user';
$pass_word = 'password';
$database_name = 'database';
$short_connect = new mysqli($host_name, $user_name, $pass_word, $database_name);

$short_connect -> set_charset("utf8");

//SQL statement for a table in the database
$sql = "SELECT water_id, prov_name, amp_name,
  COUNT(tam_name) AS nTambon,
  COUNT(moo_name) AS nMooban,
  COUNT(water_id) AS nWater,
  SUM(CASE WHEN detail = 'สาธารณะ' THEN 1 ELSE 0 END) AS nSatha,
  SUM(CASE WHEN detail = 'สปก.' THEN 1 ELSE 0 END) AS nSPK,
  SUM(CASE WHEN detail = 'ป่าไม้' THEN 1 ELSE 0 END) AS nPamai,
  SUM(CASE WHEN detail = 'ป่าชุมชน' THEN 1 ELSE 0 END) AS nCh,
  SUM(CASE WHEN detail = 'อื่นๆ' THEN 1 ELSE 0 END) AS nX
FROM water
GROUP BY water_id";	// Pay attention to this one.

//result is boolean for query other than SELECT, SHOW, DESCRIBE and EXPLAIN
$result = $short_connect->query($sql);

// Create a template from database
if (($result) && ($result->num_rows > 0))
{
	echo '<table><tr>
			<th>รหัสแหล่งน้ำ</th>
			<th>จังหวัด</th>
			<th>อำเภอ</th>
			<th>จำนวนตำบล</th>
			<th>จำนวนหมู่บ้าน</th>
			<th>จำนวนแหล่งน้ำ</th>
			<th>จำนวนที่สาธารณะ</th>
			<th>จำนวนที่ สปก.</th>
			<th>จำนวนเขตป่าไม้</th>
			<th>จำนวนเขตป่าชุมชน</th>
			<th>จำนวนอื่นๆ</th></tr>
			';

	//convert query result into an associative array
	while ($row = $result->fetch_assoc())
	{
		echo '<tr>
			<td>' . array_values($row)[0] . '</td>
			<td>' . array_values($row)[1] . '</td>
			<td>' . array_values($row)[2] . '</td>
			<td>' . array_values($row)[3] . '</td>
			<td>' . array_values($row)[4] . '</td>
			<td>' . array_values($row)[5] . '</td>
			<td>' . array_values($row)[6] . '</td>
			<td>' . array_values($row)[7] . '</td>
			<td>' . array_values($row)[8] . '</td>
			<td>' . array_values($row)[9] . '</td>
			<td>' . array_values($row)[10] . '</td>
		</tr>';
	}

	echo '</table>';
	$result->free();

}

$short_connect->close();

/* https://www.thaicreate.com/php/forum/135287.html */
?>



สุดท้ายความสวยงามของตารางตกแต่งที่ CSS


ประวัติการแก้ไข
2020-06-09 14:34:15
2020-06-09 15:13:21
2020-06-09 15:14:42
2020-06-09 15:15:37
2020-06-09 15:16:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-09 14:32:13 By : PhrayaDev
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-06-09 14:32:13
รายละเอียดของการตอบ ::
ขอบคุณมากครับ อีกนิด ครับ

เงื่อนไข ตรงนี้จะแก้ไขยังครับ

SUM(CASE WHEN detail = 'อื่นๆ' THEN 1 ELSE 0 END) AS nX

ถ้าไม่ใช่ --> 'สาธารณะ' , ที่ สปก. , 'เขตป่าไม้' , 'เขตชุมชน ' ให้สรุป เป็น 'อื่นๆ ' ครับจะเก็บตัวแปรยังไงครับ ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-11 11:24:00 By : drakvender
 


 

No. 6



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



สถานะออฟไลน์
Twitter Facebook Blogger

Code (SQL)
-- ...
SUM(CASE WHEN detail NOT IN('สาธารณะ', 'สปก.', 'ป่าไม้', 'ป่าชุมชน') THEN 1 ELSE 0 END) AS nX
-- ...


http://sqlfiddle.com/#!9/17f4ec/16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-11 13:33:24 By : PhrayaDev
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-06-11 13:33:24
รายละเอียดของการตอบ ::
ขอบคุณมากๆๆ ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-11 15:46:32 By : drakvender
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนสอบถามการใช้หาผลรวมข้อมูลเพื่อสรุปทำรายงานครับ (ไม่ได้ใช้นานจริงๆครับ)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , รับทำบัญชี , โรงงานผลิตครีม , สำนักงานบัญชี , รับจดทะเบียนบริษัท , Pangpond , รถมือสอง

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