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,037

HOME > PHP > PHP Forum > [มือใหม่ ] ต้องการเช็คค่าในตารางที่เหมือนกันและนำข้อมูลของทั้งสองแถวมารวมกัน PHP



 

[มือใหม่ ] ต้องการเช็คค่าในตารางที่เหมือนกันและนำข้อมูลของทั้งสองแถวมารวมกัน PHP

 



Topic : 112566



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



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




ตารางที่แสดงออกมา

คือต้องการให้เช็คค่าที่ช่อง TargetName ถ้าแถวไหนเหมือนกันให้นำมารวมกันเป็นแถวเดียว และนำข้อมูลช่องที่เหลือมา + กัน

เช่น แถวที่ 1 กับ 3 มีค่าที่ช่อง TargetName ตรงกัน ก็จะนำช่องด้านหลังทั้งหมดที่ต่อจาก TargetName รวมกันของแต่ละแถว

Code (PHP)
<?php

					include("lib/nusoap.php");
					$client = new nusoap_client("Web Service",true); 

					$data = $client->call('DSR');
					$mydata = json_decode($data["DSRResult"],true);
					
					if (count($mydata) > 0)
					{

?>
	<table width="950" border="2" align="Center" background="wefit.jpg">
	<tr>
		<td  align="Center" bgcolor="FF6600"><FONT color=White>BranchID					</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>MonthNo					</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>YearNo					</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>TargetName				</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>TargetUnits				</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>ActualUnits					</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>Percents					</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>TodayUnits				</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>UnitPar					</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>PercentPar					</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>Projection					</FONT></td>
		<td align="Center" bgcolor="FF6600"><FONT color=White>ProjectionPercent	                </FONT></td>
	 </tr>
								  

<?php

		foreach ($mydata as $result) 
		{

?>
	<tr>
	<td align="Center"><?php echo $result["BranchID"];?>      </FONT></td>
	<td align="Center"><?php echo $result["MonthNo"];?>      </FONT></td>
	<td align="Center"><?php echo $result["YearNo"];?>		</FONT></td>
	<td align="Center"><?php echo $result["TargetName"];?>	</FONT></td>
	<td align="Center"><?php echo number_format($result["TargetUnits"], 2, '.','');?></FONT></td>
	<td align="Center"><?php echo number_format($result["ActualUnits"], 2, '.','');?></FONT></td>
	<td align="Center"><?php echo number_format($result["Percents"], 2, '.','');?></FONT></td>
	<td align="Center"><?php echo number_format($result["TodayUnits"], 2, '.','');?></FONT></td>
	<td align="Center"><?php echo number_format($result["UnitPar"], 2, '.','');?></FONT></td>
	<td align="Center"><?php echo number_format($result["PercentPar"], 2, '.','');?></FONT></td>
	<td align="Center"><?php echo number_format($result["Projection"], 2, '.','');?></FONT></td>
	<td align="Center"><?php echo number_format($result["ProjectionPercent"], 2, '.','');?></td>
									</tr>
<?php				
		}
					}
					else 
					{
						echo "Not found data!";
					}

				}
			}
		}

?>				




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-14 15:01:07 By : aofficially View : 955 Reply : 10
 

 

No. 1



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



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


ถ้าอธิบายไม่เคลีย ถามเพื่มได้นะครับ ยังมือใหม่อยู่อ่ะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 15:02:32 By : aofficially
 


 

No. 2

Guest


แล้วถ้าเปลี่ยนเป็นเขียน sum มาจาก sql เลยล่ะครับ เช่น

Code (SQL)
SELECT TargetName, SUM(Percents) FROM tbl_xxxx GROUP BY TargetName


พอนำมาแสดงก็วนลูปแสดงได้เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 15:32:29 By : WiTT
 

 

No. 3



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



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


อยากลองแบบแก้จากโค้ดนี้อะครับ มันจะยากมั้ยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 16:11:27 By : aofficially
 


 

No. 4

Guest


ก็น่าจะทำได้ครับ แต่ก็คงต้องเก็บค่าที่ได้ไว้ก่อน แล้วค่อยแสดงผลทีหลัง

อาจจะเก็บเป็นค่าแบบ array แยก index ด้วย TargetName ที่ได้

เพราะดูตามตัวอย่าง TargetName ที่ได้ ชื่อเดียวกันมันไม่ได้เรียงต่อกันไปเลย มันจะสลับกันไปมา

ลองคิด ๆ แล้วก็เขียนดูครับ

หรือรอพี่เก่ง ๆ ในนี้แนะนำโค้ดอีกทีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 16:28:57 By : WiTT
 


 

No. 5



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

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

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

ได้ครับ เลียนแบบการทำงาน คล้ายมาย sql ตามที่คุณด้านบนบอก

ตย.
$rows = array(
	array(
		'TargetName' => 'abc',
		'TargetUnits' => 10.55,
		),
	array(
		'TargetName' => 'xyz',
		'TargetUnits' => 2.50,
		),
	array(
		'TargetName' => 'abc',
		'TargetUnits' => 7.32,
		),
);
	

$new_rows = array();
foreach ($rows as $row){
	if (isset($new_rows[$row['TargetName']])){
		// พบว่ามี อยู่ให้บวกค่า ฟีลอื่นๆ 
		$new_rows[$row['TargetName']]['TargetUnits'] += $row['TargetUnits'];
		// ... ทำต่อไปทุกฟีลที่ต้องการรวมผล
	}else{
		// ไม่พบ ให้เพิ่มเข้าไป
		$new_rows[$row['TargetName']] = $row;
	}
}

echo '<pre>';
print_r($new_rows);
echo '</pre>';


result
Array
(
    [abc] => Array
        (
            [TargetName] => abc
            [TargetUnits] => 17.87
        )

    [xyz] => Array
        (
            [TargetName] => xyz
            [TargetUnits] => 2.5
        )

)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 17:18:08 By : pjgunner.com
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 5 เขียนโดย : pjgunner.com เมื่อวันที่ 2014-11-14 17:18:08
รายละเอียดของการตอบ ::
5555555555555555555555555555555555555

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-14 17:28:29 By : 55555
 


 

No. 7



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



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


ได้แล้วครับพี่ๆ ขอบคุณมากนะครับสำหรับคำแนะนำ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-17 09:29:52 By : aofficially
 


 

No. 8



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



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


@เอี่ยว

ผมเห็นแว๊บฯว่า "โดนรุมด่าเยอะเลย" (ผมไม่ใช่มิตรของคุณและผมก็ไม่ใช่ศัตรูของคุณ)

ผมอยากโดนขุดคุ้ยบ้างและอยากโดนรุมอีก (ผมจะขอบคุณที่เตือนความทรงจำ)

"หน้าฮี"

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-17 11:46:12 By : หน้าฮี
 


 

No. 9



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



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


น่าจะเอานักสืบพันทิบ มาให้ "หน้าฮี" สักเล็กน้อยก็ยังดี (และจะไม่ลืมพระคุณ)

ขอร้อง จัดให้หน้าฮีหน่อยครับ


ขอบคุณครับ



ปล. ...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-17 11:51:52 By : หน้าฮี
 


 

No. 10



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



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



เหนือยเหลือเกิน
"Source code ที่ไร้จินตนาการ" (เจอเมื่อวันก่อนก็เท่านี้เจอวันนี้มันก็เหมือนเดิม)

Code (C#)
private void recursive(DirectoryInfo folder)
{
    folder.GetDirectories().ToList().ForEach(f => this.recursive(f));
    folder.GetFiles().Where(f => (new string[] { "jpg", "png", "gif" }).Contains(f.Extension)).ToList().ForEach(f => f.MoveTo(string.Format(@"{0}\{1}\{2}", textBox1.Text, f.DirectoryName, f.Name)));
}



ปล. มันก็ยังกระจอกเหมือนเดิม (อันนี้พูดซ้ำโดยหน้าฮี)
และคิดด้วยว่า "กระจอกเหมือนเดิม"


ประวัติการแก้ไข
2014-11-17 11:55:57
2014-11-17 12:01:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-17 11:54:02 By : หน้าฮี
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [มือใหม่ ] ต้องการเช็คค่าในตารางที่เหมือนกันและนำข้อมูลของทั้งสองแถวมารวมกัน PHP
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่