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 > วิธีการจัดข้อมูลให้ตรงกับ ตารางค่ะ นั่งทำตั้งนาน นึกไม่ออกเลย



 

วิธีการจัดข้อมูลให้ตรงกับ ตารางค่ะ นั่งทำตั้งนาน นึกไม่ออกเลย

 



Topic : 106305



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

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

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




สวัสดีค่ะพี่ ๆทุก ๆท่าน
ตอนนี้หนู ติดปัญหาที่จะทำให้ข้อมูลตรงกับ ตารางค่ะ

ข้อมูลจะดึงมาจากตาราง 2 ตารางค่ะ

ตารางแรก เป็น header มี

id , header
1 กระทิงแดง
2. ลิโพ
3. เอ็มร้อย

ตาราง B เป็นข้อมูลค่ะ
id , klung , header , total
1. หนองสิง 1 100
2. หนองสิง 2 200
3. หนองปลิง 3 100
4. หนองปลิง 1 100


ตามรูปนี้ค่ะ

รูปค่ะ


พี่ ๆ ช่วยหน่อยนะคะ

ฐานข้อมูลค่ะ


Code (PHP)
CREATE TABLE IF NOT EXISTS `a` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `header` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;

 

INSERT INTO `a` (`id`, `header`) VALUES
(1, 'กระทิงแดง'),
(2, 'ลิโพ'),
(3, 'เบียร์สิงห์'),
(4, 'เบียร์ไฮเนเก้น');
 

CREATE TABLE IF NOT EXISTS `b` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `klung` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
  `header` int(11) NOT NULL,
  `total` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;

 

INSERT INTO `b` (`id`, `klung`, `header`, `total`) VALUES
(1, 'หนองสิง', 1, 100),
(2, 'หนองสิง', 2, 200),
(3, 'หนองสิง', 4, 50),
(4, 'หนองปลิง', 2, 150),
(5, 'หนองปลิง', 4, 250);




Tag : PHP, MySQL, HTML/CSS, Ajax









ประวัติการแก้ไข
2014-02-26 18:11:55
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-02-26 16:17:48 By : Th@iDev View : 1877 Reply : 40
 

 

No. 1



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



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


จะให้ข้อมูลออกมาเป็นแบบไหนหรอครับ งง?






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 16:43:23 By : golfaa
 


 

No. 2



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

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

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


ออกมาตาม ภาพ เลยค่ะ

อย่างแถวที่ 4 ถ้าเราจะให้ ค่า 100 มันไปอยู่ที่ คอลัม เอ็มร้อย แบบนี้ค่ะพี่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 16:44:42 By : Th@iDev
 

 

No. 3



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



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


ไม่รู้ถูกไหมนะ เพราะเขียนสด

Code (PHP)
<table border="1">
	<tr>
		<?
			//SELECT ดึงข้อมูล จาก ตาราง A เพื่อเอาค่า ID กับ header 
			$results = mysql_query("SELECT * FROM A");   
			$checknum = mysql_num_rows($results);

			while($f = mysql_fetch_array($results))
			{
				?>
					<td>
						<?print $f["header"];?>
					</td>
				<?
			}
		?>
	</tr>
	<?
		//SELECT ดึงข้อมูล จาก ตาราง B
		$results2 = mysql_query("SELECT * FROM B");   
		$checknum2 = mysql_num_rows($results2);
		while($f2 = mysql_fetch_array($results2))
		{
			?>
				<tr>
					<?
						while($f = mysql_fetch_array($results))
						{
							$Check = mysql_query("SELECT * FROM  B WHERE klung = '".$f2[klung]."' and header = '".$f[id]."'");
							$checknum3 = mysql_num_rows($Check);
							?>
								<td>
								<?
									if($checknum3 != '0'){
										print "จำนวนออกมา";
									}else{
										print "&nbsp;";
									}
								?>
								</td>
							<?
						}
					?>
				</tr>
			<?
		}
	?>
</table>



ประวัติการแก้ไข
2014-02-26 16:48:54
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 16:48:18 By : FreshyMusiC
 


 

No. 4



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

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

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


มันไม่แสดงผลนะคะ โค้ดข้างบน

นี่ฐานข้อมูลค่ะ
Code (PHP)
CREATE TABLE IF NOT EXISTS `a` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `header` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;

 

INSERT INTO `a` (`id`, `header`) VALUES
(1, 'กระทิงแดง'),
(2, 'ลิโพ'),
(3, 'เบียร์สิงห์'),
(4, 'เบียร์ไฮเนเก้น');
 

CREATE TABLE IF NOT EXISTS `b` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `klung` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
  `header` int(11) NOT NULL,
  `total` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;

 

INSERT INTO `b` (`id`, `klung`, `header`, `total`) VALUES
(1, 'หนองสิง', 1, 100),
(2, 'หนองสิง', 2, 200),
(3, 'หนองสิง', 4, 50),
(4, 'หนองปลิง', 2, 150),
(5, 'หนองปลิง', 4, 250);



ประวัติการแก้ไข
2014-02-26 17:38:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 17:08:18 By : Th@iDev
 


 

No. 5



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

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

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


หรือพี่ๆ คนใหนมีวิธีจัดการแบบใหนให้ง่ายที่สุดบ้างคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 17:50:08 By : Th@iDev
 


 

No. 6



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



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


Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<table border="1">
	<tr>
		<td>
			คลัง
		</td>
		<?
			include("include/mySqlFunc.php");
			query("USE test");
			//SELECT ดึงข้อมูล จาก ตาราง A เพื่อเอาค่า ID กับ header 
			$results = mysql_query("SELECT * FROM a");   
			$checknum = mysql_num_rows($results);

			while($f = mysql_fetch_array($results))
			{
				?>
					<td>
						<?print $f["header"];?>
					</td>
				<?
			}
		?>
	</tr>
	<?
		//SELECT ดึงข้อมูล จาก ตาราง B
		$results2 = mysql_query("SELECT * FROM b GROUP BY klung");   
		$checknum2 = mysql_num_rows($results2);
		while($f2 = mysql_fetch_array($results2))
		{
			?>
				<tr>
					<td>
						<?
							print $f2[klung];
						?>
					</td>
					<?
						$results = mysql_query("SELECT * FROM a");   
						while($f = mysql_fetch_array($results))
						{
							$Check = mysql_query("SELECT sum(total) as total2 FROM  b WHERE klung = '".$f2[klung]."' and header = '".$f[id]."'");
							$checknum3 = mysql_num_rows($Check);
							while($f3 = mysql_fetch_array($Check))
							{
							?>
								<td>
								<?
									if($checknum3 != '0'){
										print $f3[total2];
									}else{
										print "&nbsp;";
									}
								?>
								</td>
							<?
							}
						}
					?>
				</tr>
			<?
		}
	?>
</table>



ประวัติการแก้ไข
2014-02-26 18:12:55
2014-02-26 18:13:16
2014-02-26 18:21:14
2014-02-26 18:24:15
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 18:12:43 By : FreshyMusiC
 


 

No. 7



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

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

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


ยังไม่เอาะ เลย ฮือ ๆ

กลายเป็นตารางว่าง ๆ เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 18:19:18 By : Th@iDev
 


 

No. 8



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



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


ลองดู ที่ No. 6 ใหม่ครับ ปรับให้แล้ว ของเรายังออกเลย

ตาราง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 18:26:11 By : FreshyMusiC
 


 

No. 9



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

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

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


dddddd

ของหนูมันเป็นแบบนี้อ่ะค่ะ

มันเกี่ยวกะหนูใช้ Xampp ใหมคะ


ประวัติการแก้ไข
2014-02-26 18:42:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 18:41:35 By : Th@iDev
 


 

No. 10



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



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


ขอดู code หน่อยสิครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 18:48:12 By : FreshyMusiC
 


 

No. 11



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



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

เปลี่ยนจาก <? เป็น <?php ยัง?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 18:49:06 By : itpcc
 


 

No. 12



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

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

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


Code (PHP)
<?php
 mysql_connect("localhost","root","123") or die("Cannot connect the Server");   
mysql_select_db("test") or die("Cannot select database");   
mysql_query("set character set utf8");  
 ?>
<table border="1">
	<tr>
		<td>
			คลัง
		</td>
		<?php
			#include("include/mySqlFunc.php");
			#query("USE test");
			//SELECT ดึงข้อมูล จาก ตาราง A เพื่อเอาค่า ID กับ header 
			$results = mysql_query("SELECT * FROM a");   
			$checknum = mysql_num_rows($results);

			while($f = mysql_fetch_array($results)){
				?>
					<td>
						<?=$f["header"];?>
					</td>
				<?php  } ?>
	</tr>
	<?php
		//SELECT ดึงข้อมูล จาก ตาราง B
		$results2 = mysql_query("SELECT * FROM b GROUP BY klung");   
		$checknum2 = mysql_num_rows($results2);
		while($f2 = mysql_fetch_array($results2)){
			?>
				<tr>
					<td>
						<?php
							echo $f2['klung'];
						?>
					</td>
					<?php
						$results = mysql_query("SELECT * FROM a");   
						while($f = mysql_fetch_array($results)){
							$Check = mysql_query("SELECT sum(total) as total2 FROM  b WHERE klung = '".$f2['klung']."' AND header = '".$f['id']."'");
							if(!$Check){
								echo mysql_error();
								exit();
							}
							$checknum3 = mysql_num_rows($Check);
							while($f3 = mysql_fetch_array($Check)){
							?>
								<td>
								<?php
 
						#	print_r($f3);  // ไม่เอาะเลย
									if($checknum3 != '0'){
										echo $f3['total2'];
									}else{
										echo "&nbsp;";
									}
								?>
								</td>
							<?php
							}
						}
					?>
				</tr>
			<?php
		}
	?>
</table>

 

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 18:53:38 By : Th@iDev
 


 

No. 13



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



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


ลอง

Code (PHP)
echo "SELECT sum(total) as total2 FROM  b WHERE klung = '".$f2['klung']."' AND header = '".$f['id']."'";


ว่ามีค่าไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 19:02:33 By : FreshyMusiC
 


 

No. 14



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

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

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


สร้างตารางเปล่า แล้วใช้ jquery จับข้อมูลใส่ตาราง

ลองดูน่ะครับ https://www.thaicreate.com/php/forum/090757.html#34
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 19:07:10 By : sakuraei
 


 

No. 15



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

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

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


พี่ Unidentifier คะ หนูอ่านแล้ว ไม่เข้าใจอ่ะค่ะ พี่ยกตัวอย่างให้หนูหน่อยได้ไม๊คะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 19:10:03 By : Th@iDev
 


 

No. 16



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

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

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


ทำไมหัวตารางของแถว ถึงมีข้อมูลซ้ำกันได้ล่ะครับ

น่าจะมีแค่

หนองสิง
หนองปลิง

แล้วเอาข้อมูลมาใส่บวกเพิ่มไปเรื่อยๆ



INSERT INTO `a` (`id`, `header`) VALUES
(1, 'กระทิงแดง'),
(2, 'ลิโพ'),
(3, 'เบียร์สิงห์'),
(4, 'เบียร์ไฮเนเก้น');

INSERT INTO `b` (`id`, `klung`, `header`, `total`) VALUES
(1, 'หนองสิง', 1, 100),
(2, 'หนองสิง', 2, 200),
(3, 'หนองสิง', 4, 50),
(4, 'หนองปลิง', 2, 150),
(5, 'หนองปลิง', 4, 250);
(6, 'หนองสิง', 4, 300), <=== เพิ่มข้อมูลเข้าไป

น่าจะเป็นแบบนี้มากกว่าน่ะ
		กระทิงแดง		ลิโพ		เบียร์สิงห์		เบียร์ไฮเนเก้น
หนองสิง		100			200						350
หนองปลิง				150						250



ประวัติการแก้ไข
2014-02-26 22:15:34
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 22:14:51 By : sakuraei
 


 

No. 17



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

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

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


เฮ้อ .. ไม่ได้สักที
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 22:29:00 By : Th@iDev
 


 

No. 18



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

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

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


มีข้อมูลให้ลองแบบเต็มอัตรามั๊ยครับ เดี๋ยวพี่ช่วยเขียนให้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 22:33:30 By : sakuraei
 


 

No. 19



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

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

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


ข้อมูลมันมีแบบนี้ค่ะ

เลยไม่รู้ว่าจะทำยังไงต่อ

อยากจะให้มันจัดเรียงให้มันตรง แล้วจะได้นำไปประยุกต์ใช้กับอันอื่น ๆ ด้วยค่ะพี่ Unidentifier

คือหนูอยากจะทำให้ว่า ถ้าเผื่อ เราจะเชคข้อมูลแต่ละคลัง ว่าสินค้าชนิดนี้ มีอยูเท่าใหร่ อะไรทำนองนี้อ่ะค่ะ

โดย เราสามารถเพิ่มคลัง เพิ่มสินค้าเข้าไป พอแสดงผล ก็ให้แสดงผลแบบนี้ อะไรนำนองนี้อ่ะค่ะ


ขอบคุณมาก ๆ เลยค่ะ หนูจะรอนะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 22:37:34 By : Th@iDev
 


 

No. 20



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

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

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


ทีแรก หนูว่าจะลองใช้ Array แต่มันก็ไม่รู้ว่าจะ Map ให้มันไปตรงกันได้อย่างไร ให้ออกมาในรูปแบบ table น่ะค่ะ มันไม่ตรงช่อง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 22:39:02 By : Th@iDev
 


 

No. 21



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

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

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


ตารางข้อมูลน่าจะเป็นแบบที่พี่เขียนให้ หรือเปล่า

ตอบความคิดเห็นที่ : 16 เขียนโดย : sakuraei เมื่อวันที่ 2014-02-26 22:14:51
รายละเอียดของการตอบ ::
หลักการก็คือกำหนดพิกัดให้ทุกช่องที่อยู่ในตาราง แล้วเอาข้อมูลมาแปลงให้อยู่ในรูปแบบที่สามารถจัดใส่ตามพิกัดได้ครับ
เหมือนกับเราสร้างตารางเปล่า แล้วเขียนข้อมูลลงตารางด้วยมือครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 22:47:33 By : sakuraei
 


 

No. 22



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

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

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


ใช่แล้วค่ะ เรามาสร้างลักษณะให้มันคล้ายแบบนั้นก็ได้ค่ะ

ชักจะเมากาแฟ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 22:57:08 By : Th@iDev
 


 

No. 23



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

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

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


ตอบความคิดเห็นที่ : 22 เขียนโดย : Th@iDev เมื่อวันที่ 2014-02-26 22:57:08
รายละเอียดของการตอบ ::
เป็นงานส่งอาจารย์เหรอครับ ถ้าง่วงก็ไปนอนเถอะครับ
เอาไว้พี่เขียนเสร็จเมื่อไหร่จะเอามาวางไว้ให้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 23:07:36 By : sakuraei
 


 

No. 24



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

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

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


ถ้าไม่เสร็จวันนี้ไม่ทันแย้วววววววววววววววว

และไม่เก่งด้าน Jquery เลยต้องใช้ PHP เพียว ๆ


ประวัติการแก้ไข
2014-02-26 23:45:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 23:28:28 By : Th@iDev
 


 

No. 25



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



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

ถ้าจะใช้ Array จะมี SQL ประมาณนี้ครับ (มีแต่หลักการ)

Code (SQL)
SELECT * FROM `a`


จะได้ข้อมูลมาเป็นหัวตาราง


ดึงข้อมูลรายงาน
Code (SQL)
SELECT `klung`, `header`, SUM(`total`) FROM `b` GROUP BY `klung`, `header`

จะได้อาร์เรย์ที่จัดกลุ่มข้อมูลเรียบร้อย

ต่อไปมีกี่เรคอร์ดก็วนลูปไปเรื่อยๆ
ในลูปก็ให้วนอาร์เรย์ทีได้จากตาราง a มาตรวจสอบว่ามีข้อมูล header ที่ตรงกับ อาร์เรย์ แต่ละคอลัมน์หรือเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 23:38:59 By : {Cyberman}
 


 

No. 26



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

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

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


คือเอาใส่ Array แล้วค่ะ แต่ว่า พอจะนำไปลูปกับตาราง มันไม่ตรงคอลัมน่ะค่ะพี่

หนูเลยจนปัญญา นี่ก็ลองนั่ง ๆ ค้นจน phpmanual ตัวหนังสือจะหลบเมาส์หนูแระ ฮือๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 23:48:38 By : Th@iDev
 


 

No. 27



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



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


5555 พยายามเข้านะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 23:55:07 By : FreshyMusiC
 


 

No. 28



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

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

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


ออกไปหาอะไรใส่ท้องมา ... รอสักครู่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 23:56:47 By : sakuraei
 


 

No. 29



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

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

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


ก่อนอื่นเรารวลรวมจำนวนด้วยคำสั่งนี้ครับ

Quote:
SELECT klung, header, sum( total )
FROM `b`
GROUP BY klung, header


จากข้อมูลชุดนี้
Quote:
INSERT INTO `b` VALUES (1, 'หนองสิง', 1, 100);
INSERT INTO `b` VALUES (2, 'หนองสิง', 2, 200);
INSERT INTO `b` VALUES (3, 'หนองสิง', 4, 50);
INSERT INTO `b` VALUES (4, 'หนองปลิง', 2, 150);
INSERT INTO `b` VALUES (5, 'หนองปลิง', 4, 250);
INSERT INTO `b` VALUES (6, 'หนองสิง', 4, 300);
INSERT INTO `b` VALUES (7, 'หนองสิง', 1, 70);
INSERT INTO `b` VALUES (8, 'หนองสิง', 3, 90);
INSERT INTO `b` VALUES (9, 'หนองปลิง', 1, 120);
INSERT INTO `b` VALUES (10, 'หนองปลิง', 3, 50);
INSERT INTO `b` VALUES (11, 'หนองปลิง', 2, 80);
INSERT INTO `b` VALUES (12, 'หนองปลิง', 4, 60);
INSERT INTO `b` VALUES (13, 'หนองสิง', 2, 110);


เราจะได้ผลลัพธ์ที่จะเอาไปใส่ในตารางแล้วครับ
Quote:
klung header sum( total )
หนองปลิง 1 120
หนองปลิง 2 230
หนองปลิง 3 50
หนองปลิง 4 310
หนองสิง 1 170
หนองสิง 2 310
หนองสิง 3 90
หนองสิง 4 350

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 00:01:01 By : sakuraei
 


 

No. 30



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



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

Code (PHP)
<?php
	$db = new mysqli('localhost', 'user', 'password', 'dbname');
	if ($db->connect_errno) {
	    echo $db->connect_error;
	    exit;
	}
	$produceName = $warehouseName = $data = array();
	$objQuery = $db->query('SELECT `id`,`header` FROM `a`'); //SELECT PRODUCE NAME
	if(!$objQuery->nem_rows) die("No Produce");
	while($objResult = $objQuery->fetch_assoc()) $produceName[$objResult['id']] = $objResult['name'];
	$objQuery = $db->query('SELECT `id`,`klung`,`header`,`total` FROM `a`'); //SELECT DATA
	if(!$objQuery->nem_rows) die("No Data");
	while($objResult = $objQuery->fetch_assoc()){
		if(!isset($warehouseName[$objResult['klung']])) $warehouseName[$objResult['klung']] = $objResult['id'];
		if(!isset($data[$objResult['klung']])) $data[$objResult['klung']] = array();
		$data[$objResult['klung']][$objResult['header']] = intval($objResult['total']);
	}
	//DISPLAY
?><table>
	<thead>
		<tr>
			<th>id</th>
			<th>คลัง</th>
			<?php foreach($warehouseName AS $name=>$id) : ?><th id="headWarehouse_<?php echo $id; ?>"><?php echo $name; ?></th>
<?php endforeach; ?>
			<th>รวม</th>
		</tr>
	</thead>
	<tbody>
<?php foreach($data AS $name=>$warehouse): ?>		<tr>
			<td><?php echo $warehouseName[$name]; ?></td>
			<td><?php echo $name; ?></td>
<?foreach ($produceName as $id => $name) : ?>			<td><?php if(isset($warehouse[$id])) echo $warehouse[$id]; ?></td>
<?php endforeach; ?>
			<td><?php echo array_sum($warehouse); ?></td>
	</tr>
<?php endforeach; ?>
	</tbody>
</table>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 00:17:37 By : itpcc
 


 

No. 31



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

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

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


กำลังไล่ทดลองทีละอัน ละอัน อย่าง งง งวย แหะๆ

พี่ Unidentifier คะ

เราจะเอามาทำยังไง ให้มันขึ้น ตรงกับ colum ของ product ได้คะ


ประวัติการแก้ไข
2014-02-27 00:46:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 00:33:37 By : Th@iDev
 


 

No. 32



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

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

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


ได้แล้วครับ จริงๆแล้วไม่ได้ยากอะไรเลย ไม่ต้องใช้ javascript ซะด้วยซ้ำ
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>https://www.thaicreate.com/php/forum/106305.html - การยิงบาร์โค้ด</title>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {  
	
 });
</script>
<style type="text/css">
td{ text-align:center;}
</style>
</head>

<body>
<?php
$link = mysql_connect("localhost","user","password") or die(mysql_error());
mysql_select_db("dbname",$link) or die(mysql_error());
mysql_query("set names utf8");
// เตรียมข้อมูลสินค้า
$sql = "select * from a";
$res = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_assoc($res)){
	$product[$data["id"]] = $data["header"];
}

//เตรียมข้อมูลคลังสินค้า
$sql = "select distinct klung from b";
$res = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_assoc($res)){
	$klung[] = $data["klung"];
}

//เตรียมข้อมูลสินค้า
$sql = "SELECT klung, header, sum( total ) as total FROM b GROUP BY klung, header";
$res = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_assoc($res)){
	$summary[$data["klung"]][$data["header"]] = $data["total"];
}
?>
<table border="1" align="center">
<thead>
  <tr>
    <td width="150">คลัง / สินค้า</td>
    <?php foreach($product as $name) echo "<td width='150'>$name</td>"; ?>
  </tr>
  </thead>
  <tbody>
  <?php 
  foreach($klung as $store){  
	echo "<tr><td>$store</td>";
	foreach($product as $hid => $pname)
		echo "<td>{$summary[$store][$hid]}</td>";
	echo "</tr>\n";
  } ?>
  </tbody>
</table>

</body>
</html>


ส่วนนี้เป็นข้อมูลที่ทดสอบ
Quote:
CREATE TABLE `a` (
`id` int(11) NOT NULL auto_increment,
`header` varchar(255) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;

--
-- Dumping data for table `a`
--

INSERT INTO `a` VALUES (1, 'กระทิงแดง');
INSERT INTO `a` VALUES (2, 'ลิโพ');
INSERT INTO `a` VALUES (3, 'เบียร์สิงห์');
INSERT INTO `a` VALUES (4, 'เบียร์ไฮเนเก้น');

-- --------------------------------------------------------

--
-- Table structure for table `b`
--

CREATE TABLE `b` (
`id` int(11) NOT NULL auto_increment,
`klung` varchar(150) collate utf8_unicode_ci NOT NULL,
`header` int(11) NOT NULL,
`total` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=14 ;

--
-- Dumping data for table `b`
--

INSERT INTO `b` VALUES (1, 'หนองสิง', 1, 100);
INSERT INTO `b` VALUES (2, 'หนองสิง', 2, 200);
INSERT INTO `b` VALUES (3, 'หนองสิง', 4, 50);
INSERT INTO `b` VALUES (4, 'หนองปลิง', 2, 150);
INSERT INTO `b` VALUES (5, 'หนองปลิง', 4, 250);
INSERT INTO `b` VALUES (6, 'หนองสิง', 4, 300);
INSERT INTO `b` VALUES (7, 'หนองสิง', 1, 70);
INSERT INTO `b` VALUES (8, 'หนองสิง', 3, 90);
INSERT INTO `b` VALUES (9, 'หนองปลิง', 1, 120);
INSERT INTO `b` VALUES (10, 'หนองปลิง', 3, 50);
INSERT INTO `b` VALUES (11, 'หนองปลิง', 2, 80);
INSERT INTO `b` VALUES (12, 'หนองปลิง', 4, 60);
INSERT INTO `b` VALUES (13, 'หนองสิง', 2, 110);



ผลลัพธ์ที่ได้
Quote:
คลัง / สินค้า กระทิงแดง ลิโพ เบียร์สิงห์ เบียร์ไฮเนเก้น
หนองสิง 170 310 90 350
หนองปลิง 120 230 50 310

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 00:48:00 By : sakuraei
 


 

No. 33



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

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

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


กรี๊สสสสสสสสสสสสส สลบ ได้แล้วค่ะ

หนูนั่งงมมา หนึ่งวันเต็ม ๆ

ขอบคุณพี่ ๆทุก ๆคนมาก ๆ ค่ะ

ว่าแต่ว่า ถ้าหนูเพิ่มข้อมูลสินค้าเพิ่ม มันมี

Notice: Undefined offset: 5 in C:\xampp\htdocs\product\showpro.php on line 56

แบบนี้อ่ะค่ะ

หนู Set error_reporting(E_ALL ^ E_NOTICE); เอาเลยดีกว่า แหะๆ ทางลัด


ประวัติการแก้ไข
2014-02-27 00:59:29
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 00:56:04 By : Th@iDev
 


 

No. 34



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

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

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


56.echo "<td>{$summary[$store][$hid]}</td>";

เปลี่ยนเป็น

56.echo "<td>".(isset($summary[$store][$hid])?$summary[$store][$hid]:"&nbsp;")."</td>";
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 00:56:56 By : sakuraei
 


 

No. 35



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

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

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


ตอบความคิดเห็นที่ : 33 เขียนโดย : Th@iDev เมื่อวันที่ 2014-02-27 00:56:04
รายละเอียดของการตอบ ::
โชคดีน่ะหนู เป็นตัวจบเหรอ บอกพี่ได้มั๊ย ว่าเรียนที่ไหน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 01:00:19 By : sakuraei
 


 

No. 36



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

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

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


ขอบคุณค่าาาาาาา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 01:00:53 By : Th@iDev
 


 

No. 37



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

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

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


Quote:
หนู Set error_reporting(E_ALL ^ E_NOTICE); เอาเลยดีกว่า แหะๆ ทางลัด


เซ็ตแบบนี้ไม่ดีไม่ดี เหมือนลักไก่ อาจารย์ ... หุๆๆๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 01:00:37 By : sakuraei
 


 

No. 38



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

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

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


ตอบความคิดเห็นที่ : 36 เขียนโดย : Th@iDev เมื่อวันที่ 2014-02-27 01:00:53
รายละเอียดของการตอบ ::
ว่าแต่ ทำไมเอามาถามช้าจัง...ใกล้กำหนดส่งเต็มทีแล้ว

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 01:03:14 By : sakuraei
 


 

No. 39



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



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


เย่ ได้ละ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 05:02:04 By : mr.v
 


 

No. 40

Guest


ตระกูลภาษา Dbase (ตั้งแต่ พ.ศ. 2504) ผู้ใหญ่ลี ใช้คำสั่ง Pivot Table เป็นแล้วนะ
แต่ ณ. พ.ศ. 2557 MySQL Server กลับไม่มีคำสั่งนี้ เป็นซะงั้นไป (มันแปลกดีนะ)

สรุปสิ่งที่ไม่มีใน MySQL
1. CTE
2. Row_Number()
3. More...

Dynamic Pivot Table

Code (SQL)
SET @strSQL = NULL;

SELECT
	GROUP_CONCAT(
		DISTINCT CONCAT(
			'SUM(Case When  a.Header = ''', Header, ''' Then Total Else 0 End) AS ',
			REPLACE(Header, ' ', '') /*MSSQL == [] == เครื่องหมายง่ามหนังสติ๊ก*/
		)
	)INTO @strSQL
FROM a;

SET @strSQL = CONCAT(' SELECT b.klung As คลังสินค้า, ', @strSQL, ' ',                                       
		                 ' FROM a INNER JOIN b ON a.id= b.header GROUP BY b.klung');
       
PREPARE stmt FROM	@strSQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;




Good Luck.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 12:16:40 By : love9713
 

 

No. 41

Guest


ข้อสังเกตุ คำสั่ง GROUP BY ของ MySQL == ภาษาตระกูล Dbase อาทิเซ่น

Select * From Table GROUP BY OneField

ประลาตดีแท้หนอ

[x] ที่ควรมีกลับไม่มี ที่ควรไม่ได้กลับได้ เป็นซะงั้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-27 12:27:22 By : love9713
 


   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 02
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 อัตราราคา คลิกที่นี่