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 > รบกวนดูโค้ดให้หน่อยครับ อยากให้มันรวมผลลัพธ์ของคอลัมน์



 

รบกวนดูโค้ดให้หน่อยครับ อยากให้มันรวมผลลัพธ์ของคอลัมน์

 



Topic : 119917



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



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




โค้ดประมาณนี้ครับ
Code (PHP)
<?
$type = "";
while($row = mysql_fetch_array($query))
{
?>

<table width="100%" height="100" border="0" cellpadding="0" cellspacing="8">
<tr>
	<td>
	<? if($type != $row['type'])
	{
	echo $row['type'];
	} 
	$type = $row['type'];
	?>
    </td>
</tr>
    <tr>
    <td width="11%" height="36" align="center"></td>
    <td width="7%" align="left"><? echo $row['ID'];?></td>
    <td width="10%" align="left"><? echo $row['Name'];?></td>
    <td width="10%" align="left"><? echo $row['amount'];?></td>
    <td width="12%" align="right"><? echo $row['Price'];?></td>
    <td width="12%" align="right"><? echo $row['sumPrice'];?></td>
<tr>
	<td>
	</td>
</tr><? }?>
</table> 


อยากให้ output มีผลลัพธ์แบบนี้ ตามฟอนต์สีแดง(รวม รวมทั้งหมด)
ช่วยชี้แนะด้วยครับ
output



Tag : PHP, MySQL









ประวัติการแก้ไข
2015-11-14 01:55:31
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-11-14 01:53:01 By : comcom00dd View : 1002 Reply : 11
 

 

No. 1



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



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


อาจจะทำลูป 2 วง โดยคิวรี่แยกกัน อันนึง where type ตัวนี้ อีกอัน ตัวนี้ แต่ถ้าแบบนี้เราก็ไม่รู้มันมีกี่ type ต้องใช้กี่วง

ก็อาจจะทำเป็นลูปเพื่อหาจำนวนของแต่ละประเภทก่อนว่าแต่ละประเภทนึงมีกี่ชิ้นจะได้รู้ว่าต้องวนกี่รอบถึงจะเปลี่ยนประเภท โดยให้ ORDER BY type,name อันนี้ไม่แน่ใจว่าจะเรียงประเภทขึ้นก่อนแล้วค่อยเรียงชื่อให้รึป่าวนะ

ผมก็เขียนโปรแกรมงูๆปลาๆ ทำได้แค่ O(n2) TT






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 02:24:06 By : axyz987
 


 

No. 2



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



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

Code (PHP)
<?php
$buffer_ประเภท=''; $buffer_qty=0; $buffer_price=0;
while($ro=$result->fetch_assoc().){
	if( ตรวจสอบ $buffer_ประเภท !== $ro['ประเภท'] ว่าเท่ากันหรือไม่){ 
		//ถ้าไม่เท่ากัน
		if( ให้ ตรวจสอบ $buffer_ประเภท >'' หรือ ไม่){
			//ถ้า มากกว่า แสดงว่าไม่ใช่ รายการแรก
			echo "ให้ print ยอดรวม record ก่อนหน้า", '<br>';
			$buffer_qty=0; $buffer_price=0; // เคลียร์ยอดรวม ให้เป็น 0
		}
		echo $buffer_ประเภท = $ro['ประเภท'], '<br>'; // กำหนดค่า $buffer_ประเภทด้วยค่าใหม่ พิมพ์ $buffer_ประเภท
	}
	echo "พิมพ์ รายละเอียดสินค้า", '<br>';
	// บวกจำนวน , ราคา ไปไว้ที่ $buffer_qty, $buffer_price ตามลำดับ 
	$buffer_qty += $ro['qty']; $buffer_price += $ro['price'];
}
if( ถ้า $buffer_ประเภท > '') echo  "ให้ print ยอดรวม รายการ สุดท้าย";



ประวัติการแก้ไข
2015-11-14 05:58:45
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 05:57:56 By : NewbiePHP
 

 

No. 3



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



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


คือผมเอาไปใช้ไม่ถูกครับงงว่าต้องใส่ตอนไหน ช่วยแนะนำหน่อยได้มั้ยครับ

ขอบคุณครับ


ประวัติการแก้ไข
2015-11-14 09:47:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 09:46:47 By : comcom00dd
 


 

No. 4



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



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

เป็น flow control ครับ อ่าน แล้วทำความเข้าใจ จากคอมเม้นที่ให้ไป อ่านไปที่ละ บันทัด
เข้าใจแล้วก็หาโค๊ดมาใส่ โค๊ดที่เอามาใส่ ก็เป็นโค๊ดที่คุณทำไว้แล้ว
เปรียบเทียบเอาครับ ควรจะใส่อะไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 10:02:50 By : NewbiePHP
 


 

No. 5



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



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


ไม่เข้าใจจริงๆครับ เพราะผมสร้าง output เป็น table แบบที่จะให้ output ออกมา

แต่ทีนี้จะเอา if ไปใส่อะไรยังไง ผมงงครับ เพราะมันใส่ if ซ้อน if ตามลำดับใน table ไม่ได้

ช่วยชี้แนะหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 12:49:35 By : comcom00dd
 


 

No. 6



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



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

<?
$type = "";
while($row = mysql_fetch_array($query))
{
?>

<table width="100%" height="100" border="0" cellpadding="0" cellspacing="8">
<tr>
<td>
<? if($type != $row['type'])
{
echo $row['type'];
// **** บรรทัดนี้ แหละครับคือส่วนที่ต้องการ ****//
}
$type = $row['type'];
?>
</td>
</tr>
<tr>
<td width="11%" height="36" align="center"></td>
<td width="7%" align="left"><? echo $row['ID'];?></td>
<td width="10%" align="left"><? echo $row['Name'];?></td>
<td width="10%" align="left"><? echo $row['amount'];?></td>
<td width="12%" align="right"><? echo $row['Price'];?></td>
<td width="12%" align="right"><? echo $row['sumPrice'];?></td>
<tr>
<td>
</td>
</tr><? }?>
</table>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 13:50:50 By : {Cyberman}
 


 

No. 7



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



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

if( ตรวจสอบ $buffer_ประเภท !== $ro['ประเภท'] ว่าเท่ากันหรือไม่){
บันทัดข้างบน แทนที่ค่า ดูสิครับ ว่าแทนที่ได้ไหม ซึ่งมันควรจะเหมือน ตัวแปร $type ของคุณ
if( $type !== $ro['type'] ){

ก็ไปต่อบันทัดต่อไป
if( ให้ ตรวจสอบ $buffer_ประเภท >'' หรือ ไม่){
อ้างอิงจาก $type ก็ต้องเป็น
if( $type > ''){

ส่วนบันทัด echo ลองวิเคราห์ดูว่าควรจะใส่ tag tr อย่างไรดี
เอา tag tr ของคุณมาเลียนแบบ ตัดนู่นเสิรมนี่ เปลี่ยนตัวแปร แต่นั้นเองครับ

แค่อ่าน แต่ละบันทัด ใส่ตัวแปรตามที่บอก ซึ่งของคุณมันก็มีตัวอย่างที่ทำไว้อยู่แล้ว
นำมาประกอบกัน มันยากจริงๆ เลยนะครับเนี่ย

มันอยู่ที่ว่าคุณตั้งใจอ่านหรือเปล่า หรือแค่อ่านผ่านๆก็กลัวซะแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 14:26:11 By : NewbiePHP
 


 

No. 8



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



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


Code (PHP)
<?php
include("config.php");
$strSQL = "SELECT * FROM product ";
$query=mysql_query($strSQL) or die(mysql_error());
?>

<?
$type = "";
while($row = mysql_fetch_array($query))
{
?>

<table width="100%" height="100" border="0" cellpadding="0" cellspacing="8">
<tr>
	<td>
	<? if($type != $row['type'])
	{
	echo $row['type'];
	} 
	$type = $row['type'];
	?>
    </td>
</tr>
    <tr>
    <td width="11%" height="36" align="center"></td>
    <td width="7%" align="left"><? echo $row['ID'];?></td>
    <td width="10%" align="left"><? echo $row['Name'];?></td>
    <td width="10%" align="left"><? echo $row['amount'];?></td>
    <td width="12%" align="right"><? echo $row['Price'];?></td>
    <td width="12%" align="right"><? echo $row['sumPrice'];?></td>
<tr>
	<td>รวม</td>
</tr><? }?>
</table> 


คือตอนนี้ที่ผมเข้าใจว่า ผมจะใส่ if ตรงบรรทัดที่ 32 ยังไงครับเพราะบรรทัดที่ 16-21 มันเช็คว่าถ้า type ไม่เท่ากับ ให้แสดงชื่อประเภท
แล้วบรรทัดต่อๆมาก็ echo แสดงข้อมูลตามฐานข้อมูล


ประวัติการแก้ไข
2015-11-14 16:43:42
2015-11-14 16:46:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 16:41:16 By : comcom00dd
 


 

No. 9



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



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

อย่าเอาโค๊ดคุณเป็นหลักสิครับ flow control มันผิด
เอา ของผมไปอ่านไปคิด

ถ้ายังคิดไม่ออกไปเริ่มต้นนับ 1 ใหม่ดีครับ
ศึกษาพื้นฐาน ไวยกรณ์ของภาษาให้มากกว่านี้

ไปเอาโค๊ดเขามา แต่ไม่รู้จะต่อยังไงเพราะพื้นฐานไม่ดี

ลองเข้าไปอ่านลิงค์นี้ดูครับ https://www.thaicreate.com/php.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 18:02:03 By : NewbiePHP
 


 

No. 10



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



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


อ๋อถ้าแบบนั้น ผมเข้าใจแล้วครับ code แบบพี่ตอนแสดง ก็ให้ echo ตารางไป

ถ้าไม่เป็นการรบกวนจนเกินไป พี่พอบอกวิธีใส่ code ตาม code ของผมได้มั้ยครับ

คือผมออกแบบ output จาก Dreamweaver ก่อนแล้วค่อยใส่ code ตอนหลัง มันจะทำให้ผมเข้าใจมากกว่าครับ

เพราะผมเพิ่งหัดทำยังไม่ชำนาญ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 18:19:51 By : comcom00dd
 


 

No. 11



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



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

ทำเป็นตัวอย่างให้แค่นี้นะครับ เอาโค๊ดของคุณมาแทนรายละเอียด
ที่เหลือคิดทำเอาเองครับ
คอมเม้นท์สุดท้ายของ topic นี้ครับ ขอให้โชคดี

ย้ายส่วนหัวตารางไว้ นอกลูป โครงสร้างเป็นแบบนี้
<table ..>
<tr>แสดชื่อฟีลด์ หัวตาราง</tr>
<?PHP loop while แสดงรายละเอียด tr ?>
</table>

ตัวอย่างโค๊ด
Code (PHP)
<table width="100%" height="100" border="0" cellpadding="0" cellspacing="8">
<?php
$buffer_ประเภท=''; $buffer_qty=0; $buffer_price=0;
while($ro=$result->fetch_assoc().){
	if( ตรวจสอบ $buffer_ประเภท !== $ro['ประเภท'] ว่าเท่ากันหรือไม่){ 
		//ถ้าไม่เท่ากัน
		if( ให้ ตรวจสอบ $buffer_ประเภท >'' หรือ ไม่){
			//ถ้า มากกว่า แสดงว่าไม่ใช่ รายการแรก
			echo "ให้ print ยอดรวม record ก่อนหน้า", '<br>';
			$buffer_qty=0; $buffer_price=0; // เคลียร์ยอดรวม ให้เป็น 0
		}
		echo $buffer_ประเภท = $ro['ประเภท'], '<br>'; // กำหนดค่า $buffer_ประเภทด้วยค่าใหม่ พิมพ์ $buffer_ประเภท
	}
	//echo "พิมพ์ รายละเอียดสินค้า", '<br>';  แทนด้วยโค๊ดข้างล่าง
?>
<tr>
    <td width="11%" height="36" align="center"></td>
    <td width="7%" align="left"><?php echo $row['ID'];?></td>
    <td width="10%" align="left"><?php echo $row['Name'];?></td>
    <td width="10%" align="left"><?php echo $row['amount'];?></td>
    <td width="12%" align="right"><?php echo $row['Price'];?></td>
    <td width="12%" align="right"><?php echo $row['sumPrice'];?></td>
</tr>
<?php
	// บวกจำนวน , ราคา ไปไว้ที่ $buffer_qty, $buffer_price ตามลำดับ 
	$buffer_qty += $ro['qty']; $buffer_price += $ro['price'];
}
if( ถ้า $buffer_ประเภท > '') echo  "ให้ print ยอดรวม รายการ สุดท้าย";
?>
</table>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-14 18:51:25 By : NewbiePHP
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
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 อัตราราคา คลิกที่นี่