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 > ต้อการ query ข้อมูลจาก Table เก็บใส่ใน array 2 มิติเขียนยังไงคะ



 

ต้อการ query ข้อมูลจาก Table เก็บใส่ใน array 2 มิติเขียนยังไงคะ

 



Topic : 062702

Guest




ต้องการ query ที่มีอยู่ใน ตาราง แล้วใส่ไว้ใน array 2 มิติค่ะ เช่น

ID:Name:Group:Day
1:A:1:01
2:B:1:01
3:C:1:02
4:D:2:01

ให้เปรียบเทียบค่า แล้วใส่ข้อมูลของ "Group:Day" ใน array 2 มิติ
1:01 = 2 // Group 1 ,Day 1 มีจำนวน 2
1:02 = 1 // Group 1 ,Day 2 มีจำนวน 1
2:01 = 1 // Group 2 ,Day 1 มีจำนวน 1

จะเขียนยังไงคะ ที่เห็นมีแต่แบบมิติเดียว ลองเขียนแล้วออกค่ะ แต่แบบ 2 มิติเขียนไม่เป็น



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-07-04 13:03:42 By : CS541 View : 8952 Reply : 9
 

 

No. 1



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

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

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

แบบนี้ป่ะคับ

Code (PHP)
$data = array(
	array(
		'id' => 1,
		'name' => 'A',
		'group' => 1,
		'day' => '01',
	),

	array(
		'id' => 2,
		'name' => 'B',
		'group' => 1,
		'day' => '01',
	),

	// ...
);


http://www.pjgunner.com






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-04 13:38:49 By : pjgunner.com
 


 

No. 2

Guest


ใช้ค่ะ ถ้าแบบใส่ข้อมูลตรงๆ แต่ต้องการแบบวนรับค่าจาก TB ตามนี้ค่ะ เอาเฉพาะค่า $dsID : $dFrom ใส่ใน array 2 มิติ
Code (PHP)
$sql="select * from insertstaff,disease where(insertstaff.dsID=disease.dsID)";
$result = mysql_db_query($dbname,$sql);
$num_rows = mysql_num_rows($result);
while($record = mysql_fetch_array($result)) {
	$stID = $record[stID]; // ID
	$dsID = $record[dsID]; // Group
        $dFrom = $record[dFrom]; // Day
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-04 13:57:17 By : CS541
 

 

No. 3



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

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

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

ไม่ได้เขียนโปรแกรมนานเล่นเอามึนเหมือนกัน พอดีตอนแรกไม่เข้าใจคำถาม

Code (PHP)
$data = array(
	array(
		'id' => 1,
		'name' => 'A',
		'group' => 1,
		'day' => '01',
	),

	array(
		'id' => 2,
		'name' => 'B',
		'group' => 1,
		'day' => '01',
	),

	array(
		'id' => 3,
		'name' => 'C',
		'group' => 1,
		'day' => '02',
	),

	array(
		'id' => 4,
		'name' => 'D',
		'group' => 2,
		'day' => '01',
	),

	// ...
);

$udg = $group = array();

// หากรุ็บที่มี
foreach ($data as $row)
	$groups[] = $row['group'];

$groups = array_unique($groups);
sort($groups);

// แต่ละ group
foreach ($groups as $group)
{
	foreach ($data as $row)
	{
		if ($row['group'] != $group)
			continue;
		
		if ( ! in_array(array('group' => $group, 'day' => $row['day']), $udg))
			$udg[] = array('group' => $group, 'day' =>$row['day']);
	}
}

// ตัวแปร udg คือรายการไม่ซ้ำ unique day group

// คราวนี้ เอามาหาจำนวจากข้อมูลทั้งหมดอีกที
foreach ($udg as &$unique)
{
	$tmp = 0;
	foreach ($data as $row)
	{
		if ($row['group'] === $unique['group'] AND $row['day'] === $unique['day'])
			++$tmp;
	}
	$unique['size'] = $tmp;
}

// แสดงผลลัพท์
foreach ($udg as $result)
	echo 'Group: '.$result['group'].' Day: '.$result['day'].' = '.$result['size'], '<br />';


Result
Group: 1 Day: 01 = 2
Group: 1 Day: 02 = 1
Group: 2 Day: 01 = 1

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-04 14:42:07 By : pjgunner.com
 


 

No. 4



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

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

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

โทษทีพอดียังไม่ได้ refactor นะ คงพออ่านเข้าใจ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-04 14:46:58 By : pjgunner.com
 


 

No. 5

Guest


ขอบคุณค่ะ อ่านแล้วก็พอเข้าใจ เดี๋ยวจะลองเขียนประยุกต์ข้อมูลส่วนนี้ ให้ดึงผลออกมาจากตารางจริงค่ะ ... ได้หรือไม่ได้ จะแจ้งให้ทราบอีกที ขอบคุณสำหรับคำตอบนะคะ ^^
Code (PHP)
$data = array(
	array(
		'id' => 1,
		'name' => 'A',
		'group' => 1,
		'day' => '01',
	),

	array(
		'id' => 2,
		'name' => 'B',
		'group' => 1,
		'day' => '01',
	),

	array(
		'id' => 3,
		'name' => 'C',
		'group' => 1,
		'day' => '02',
	),

	array(
		'id' => 4,
		'name' => 'D',
		'group' => 2,
		'day' => '01',
	),

	// ...
);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-04 15:00:06 By : CS541
 


 

No. 6

Guest


code ที่ให้มา ลองประยุกต์โดยดึงจาก TB จริงได้แล้วค่ะ ตามนี้ ต่อด้วยส่วนท้ายที่คุณ @เอี่ยว ให้มา
Code (PHP)
$sql="select disease.dsID,insertstaff.dFrom from insertstaff,disease where(insertstaff.dsID=disease.dsID)";
			$result = mysql_query($sql);
			$arr = array();
			$i = 1;
			while ($show = mysql_fetch_array($result)) 
			{
				  $data[$i] = array('dsID' => $show['dsID'],'dFrom' => $show['dFrom']);
				  $i++;
			}

ผลลัพธ์ ที่ได้ //เปลี่ยนตัวแปรนิดหน่อยให้เหมือน DB จริงค่ะ
dsID: 1 dFrom: 01 = 2
dsID: 1 dFrom: 04 = 1
dsID: 2 dFrom: 02 = 1

ทีนี้ ต้องการเอาค่าที่ได้ไปใส่ในตารางเพื่อแสดงผลให้ user ดู
ds

โดยให้แสดงข้อมูล ให้ตรงกับ "รหัสโรค และ วันที่" เช่น จากผลลัพธ์ข้างบน
1.รหัสโรค(dsID)=1 วันที่ (dFrom)=01 มีจำนวน 2 คน
2.รหัสโรค(dsID)=1 วันที่ (dFrom)=04 มีจำนวน 1 คน
3.รหัสโรค(dsID)=2 วันที่ (dFrom)=02 มีจำนวน 1 คน

ให้แสดงตารางเป็นแบบนี้
ds Result
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-04 15:54:25 By : cs541
 


 

No. 7



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

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

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

ค่อยๆ คิดทำไปนะคับ ผมคิดว่าคงไม่ยากหรอก เดี๋ยวก็คิดออกเอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-04 16:11:49 By : pjgunner.com
 


 

No. 8

Guest


ได้แล้วค่ะ คุณเอี่ยว ใส่แบบบ้านๆ เลย แทรกไว้ใน td ของแต่ละ column เหอๆ ตอนแรกก็เขียนให้มันวนค่าเอาค่ะ แต่ไม่ออก เลยลองอัดแบบไร้อัลกอ อย่างที่เห็นนี้แหล่ะค่ะ ไล่ตั้งแต่ 01 ยัน 31 เลย

ขอบคุณ คุณเอี่ยวอีกครั้งค่ะ ถึงจะเขียนต่อได้ไม่ดีเท่าไหร่ แต่ผลลัพธ์ออกมาถูกต้องก็พอใจล่ะค่ะ ไว้สเตปดีกว่านี้ค่อยมาปรับปรุงอีกที
Code (PHP)
<? foreach ($udg as $result) if($result['dsID']==$dspdsID and $result['dFrom']==01) { echo $result['size'];} ?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-07-04 16:21:02 By : CS541
 


 

No. 9

Guest


ติดปัญหาคล้ายๆกันเลย ขอบคุณสำหรับความรู้นะคะ ^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-26 10:18:53 By : Kwun
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้อการ query ข้อมูลจาก Table เก็บใส่ใน array 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 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 อัตราราคา คลิกที่นี่