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

Registered : 109,027

HOME > PHP > PHP Forum > รบกวนช่วยดูและขอวิธีการวนลูปดึงข้อมูลแสดงผลแบบ 2 มิติและ "หาผลรวม" ด้วยครับ



 

รบกวนช่วยดูและขอวิธีการวนลูปดึงข้อมูลแสดงผลแบบ 2 มิติและ "หาผลรวม" ด้วยครับ

 



Topic : 107711



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



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




วนลูปดึงข้อมูลแสดงผลแบบ 2 มิติและ "หาผลรวม" ตามรูปภาพนะครับ
รบกวนด้วยนะครับ

ตรงที่เป็น ?? ทำอย่างไรครับ

ส่วนโค๊ดครับ

Code (PHP)
<?
/********************************************************/
/**Script by : อ้ายคำปัน@webthaidd.com					****/
/**E-mail,MSN : [email protected]				   **/
/**Web site : http://computerpsycho.boxchar.tcom  **/
/*******************************************************/
?>
<?
	$host = "localhost"; //ชื่อ database server
	$user = "root"; //ชื่อผู้ใช้ databse ที่มีสิทธิ์
	$pass = "root"; //รหัสผ่าน
	$dbase = "test";		//ชื่อฐานข้อมูลที่จะใช้
	
	$link = mysql_connect($host,$user,$pass) or die("Connect error : ".mysql_error());  //ติดต่อ database
	mysql_select_db($dbase); //เลือกฐานข้อมูลที่จะใช้
	
	$sql = "SELECT type_id, type_name FROM tb_type ORDER BY type_id";  //selec ข้อมูลสำหรับแสดงผลเป็นหัวตาราง
	$rsItem = mysql_query($sql) or die("Select error : ".mysql_error()); //สร้าง result set
	$item_id = array();
	$item = array();
	$i = 0;
	while($value = mysql_fetch_assoc($rsItem)){/*วนลูปดึงข้อมูลเก็บเข้า array  อาจจะใช้ mysql_fetch_array  ก็ได้การใช้งานเหมือนกันแต่ 
																						mysql_fetch_array จะกว้างกว่าตรงที่สามารถระบะได้ทั้งตำแหน่งและชื่อของฟิลด์*/
		$item_id[$i] = $value['type_id'];		//เก็บ id สำหรับกำหนดเงื่อนไขในการวนลูปแนวกว้าง
		$item[$i] = $value['type_name'];  	//เก็บตัวแปร item สำหรับแสดงผลหัว column
		$i ++;
	}
	mysql_free_result($rsItem); //สั่งคืนค่าหน่วยความจำเพราะ $rsTopic ไม่มีการใช้งานอีกแล้ว
	
	$sql = "SELECT DISTINCT(tb_value.id),name FROM tb_value RIGHT JOIN tb_area ON tb_area.id =  tb_value.id ORDER BY tb_value.id";
	$rsValue = mysql_query($sql) or die("Select error : ".mysql_error());// SELECT ข้อมูล id,name จากตาราง  tb_value โดยมีการตรวจสอบกับตาราง tb_area ซึ่งเป็น lookup table
	$num_rows = mysql_num_rows($rsValue);//นับจำนวนแถวว่ามีข้อมูลหรือไม่
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<title>การวนลูปดึงข้อมูลแสดงผลแบบ 2 มิติ</title>
</head>

<body>
<?
	if($num_rows>0){//ถ้ามีก็ให้แสดงผลตารางข้อมูล
?>
<table width="600" border="0"  bgcolor="#000000">
  <tr bgcolor="#FFFFFF">
    <td width="150" align="center"><strong>พื้นที่</strong></td>
<?
	for($i=0;$i<count($item_id);$i++){
?>
    <td width="286" align="center"><strong><?=$item[$i]//แสดงผลหัวคอลัมน์?></strong></td>
    <?
	}
?>
    <td width="150" align="center">รวม</td>
  </tr>
  <?
  	while($ListValue = mysql_fetch_assoc($rsValue)){//วนลูปแสดงผลข้อมูลมิติที่ 1 ตามแนวตั้ง /แถว
  ?>
  <tr bgcolor="#FFFFFF">
    <td align="left">&nbsp;<?=$ListValue['name']//แสดงผลชื่อพื้นที่?></td>
<?
	/*วนลูปแสดงผลข้อมูลมิติที่ 2 ตามแนวขวาง /คอลัมน์*/
	for($i=0;$i<count($item_id);$i++){  //วนลูปให้เท่ากับจำนวน item
	$sql = "SELECT number FROM tb_value WHERE id={$ListValue['id']} AND type_id={$item_id[$i]}";//วนลูปหาค่าในแต่ละเชลล์ของตารางตามค่าในคีย์หลักของแถว และ คอลัมน์
	$rsColValue = mysql_query($sql) or die("Select error : ".mysql_error());
	$ColValue = mysql_fetch_assoc($rsColValue); //แน่ใจว่าในแต่ละเชลล์มีค่าเดียว จึงไม่ต้องวนลูป ทำ mysql_fetch_assoc เพราะถึงแม้วนลูปค่าที่ได้ก็จะมีแค่ค่าเดียวเหมือนกัน
?>
    <td align="center"><?=number_format($ColValue['number'])?></td>
    <?
	$sumSrow+=$ColValue['number'];
	$sumS+=$ColValue['number'];
	mysql_free_result($rsColValue); //คืนค่าเมื่อไม่ได้ใช้แล้ว
	}//end for
	?>
    <td align="center"><?=$sumSrow?></td>
	<?
	$sumSrow=0;
}//end while
?>
  </tr>
  <tr bgcolor="#FFFFFF">
    <td align="right">รวม</td>
	<?
	for($i=0;$i<count($item_id);$i++){  
		?>
		<td align="center">&nbsp;</td>
		<?
	}
	?>
    <td align="center"><?=$sumS?></td>
  </tr>
</table>
<?
}
else{
	echo "<p align=\"center\"><strong>ไม่มีข้อมูล</strong></p>";
}
?>
</body>
</html>
<?
	mysql_free_result($rsValue); //คืนค่าหน่วยความจำ
	mysql_close($link); //ปิดการติดต่อฐานข้อมูล
?>


อ้างอิงจากเว็บนี้ครับ http://www.webthaidd.com/php/webthaidd_article_229_.html



Tag : PHP, MySQL, HTML/CSS









ประวัติการแก้ไข
2014-04-17 19:02:22
2014-04-18 18:25:52
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-04-17 18:44:46 By : Delphi7 View : 1513 Reply : 14
 

 

No. 1



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



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

ใส่แท็ก PHP เถอะครับ แท็ก code ธรรมดามันอ่านโคตรยาก -*-






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-17 18:55:18 By : itpcc
 


 

No. 2



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



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


ขอโทษด้วยครับ พึ่งโพสครั้งแรก เลยทำไม่ค่อยเป็น อิอิ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-17 19:03:25 By : Delphi7
 

 

No. 3



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



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

ใช้การสร้างตัวแปรไปทบค่าเพิ่มเหมือน $sumS อ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-17 19:25:21 By : itpcc
 


 

No. 4



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



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


ลองดูแล้ว แต่ยังไม่ได้ครับ อาจจะเป็นเพราะผมไม่เข้าใจในจุดนี้อะครับ

ยอมรับเลยครับ ว่าเรื่องอาเรย์นี้ยังอ่อนมากๆ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-17 20:33:38 By : Delphi7
 


 

No. 5

Guest


ิัอันนี้คือ 3 บรรทัดจากทั้งหมด 13 บรรทัด (ที่ผมกำ/ปิดบัง เอาไว้) มันเอาอยู่แม้กระทั่ง ORACLE

Code (VB.NET)
Public Class ปิดบังเอาไว้  'SqlServer =  @'Oracle = :  'OleDB = ?
    Private Shared preFix As String = PubConstant.PrefixParameter
    Public Shared Function FixParaName(ByVal tcName As String, Optional ByVal tcPrefix As String = "@") As String
        Return tcName.Replace("@", preFix)
    End Function
End Class


Good Luck.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 08:10:28 By : love9713
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 3 เขียนโดย : itpcc เมื่อวันที่ 2014-04-17 19:25:21
รายละเอียดของการตอบ ::
ว่างฯ มาทานอาหารอร่อยอร่อย ด้วยกันสักมื้อไหมครับ?


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 08:22:00 By : love9713
 


 

No. 7



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



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

ตอบความคิดเห็นที่ : 6 เขียนโดย : love9713 เมื่อวันที่ 2014-04-18 08:22:00
รายละเอียดของการตอบ ::
ท่าออกตังค์ค่าเดินทางให้ผมสิ เดี๋ยวผมไปกิน 555+

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 09:49:30 By : itpcc
 


 

No. 8

Guest


ตอบความคิดเห็นที่ : 7 เขียนโดย : itpcc เมื่อวันที่ 2014-04-18 09:49:30
รายละเอียดของการตอบ ::
ผมใช้ชีวิตทางโลกมามากเกินไปครับ


ชีวิตที่เหลือของกระผม ผมอยากจะเข้าไปหาทางธรรมบ้าง (ลมหายใจสุดท้าย ของผม)


ผมอยู่ซอย ลิขิต 7 อ. บางพลี จ. สมุทรปราการ (ตามสะดวกครับ)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 11:02:52 By : love9713
 


 

No. 9



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



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

ตอบความคิดเห็นที่ : 8 เขียนโดย : love9713 เมื่อวันที่ 2014-04-18 11:02:52
รายละเอียดของการตอบ ::
//จดแปป

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 11:07:05 By : itpcc
 


 

No. 10

Guest


หาผมได้ไม่ยากครับ สังเกตุดู "ปีน สองกระบอก" ข้างฯกายผม (วางอยู่บนโต๊ะ)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 11:07:34 By : love9713
 


 

No. 11

Guest


เล่าเรื่องจริงให้ฟัง (อย่าลืมมาหาผม)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 11:10:35 By : love9713
 


 

No. 12



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



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

ตอบความคิดเห็นที่ : 11 เขียนโดย : love9713 เมื่อวันที่ 2014-04-18 11:10:35
รายละเอียดของการตอบ ::
ถ้าไปแถวนั้นจะโทรไปนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 11:35:30 By : itpcc
 


 

No. 13

Guest


ตอบความคิดเห็นที่ : 12 เขียนโดย : itpcc เมื่อวันที่ 2014-04-18 11:35:30
รายละเอียดของการตอบ ::
you are my friends.

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 13:25:18 By : love9713
 


 

No. 14



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

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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

ตอบความคิดเห็นที่ : 13 เขียนโดย : love9713 เมื่อวันที่ 2014-04-18 13:25:18
รายละเอียดของการตอบ ::
เล่นเอาซะผมไม่กล้าผ่านไปเลย ผมก็อยู่บางพลีเหมือนกัน ใกล้ๆกันนั่นแหละ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-18 13:29:14 By : Dragons_first
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนช่วยดูและขอวิธีการวนลูปดึงข้อมูลแสดงผลแบบ 2 มิติและ "หาผลรวม" ด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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