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 : 098018



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



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



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

date



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-07-19 14:22:05 By : supattra.s View : 2157 Reply : 20
 

 

No. 1



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



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


ข้อมูลในฐานข้อมูลเป็นอย่างไรครับ จะได้ช่วยดูให้ได้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-19 16:41:21 By : heartbeat
 


 

No. 2



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



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


ใช้ group by ช่วยครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-19 18:17:14 By : iieszz
 

 

No. 3

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : heartbeat เมื่อวันที่ 2013-07-19 16:41:21
รายละเอียดของการตอบ ::
ข้อมูลมี 1 ตารางค่ะ

t1

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-20 08:44:56 By : supattra.s
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : iieszz เมื่อวันที่ 2013-07-19 18:17:14
รายละเอียดของการตอบ ::
ลอง group by แล้ว แต่จำนวนมันรวมกันเลยค่ะ
อยากให้แยกค่าตามหัวตารางที่เป็น area ค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-20 08:46:56 By : supattra.s
 


 

No. 5



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



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

รูปแบบอาร์เรย์ต้องปรับดังนี้ครับ

Code (PHP)
$data['11-07']['A1'] = 96;
$data['11-07']['A6'] = 98;
$data['11-07']['A7'] = 0;
$data['11-07']['A8'] = 0;
$data['11-07']['A10'] = 0;


ตอนวนลูปแสดง

Code (PHP)
foreach($data as $key=>$col){

    echo "<tr><td>$key</td><td>" . implode("</td><td>", $col) . "</td></tr>";
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-20 08:55:03 By : {Cyberman}
 


 

No. 6



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



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

ตอบความคิดเห็นที่ : 5 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-07-20 08:55:03
รายละเอียดของการตอบ ::
ถ้าดึงมาจากฐานข้อมูลข้างล่างต้อง query ยังไงคะ
ตรงหัว cloumn คือ ฟิลล์ id_area
วันที่คือ ฟิลล์ date
และข้อมูลที่โชว์ คือ ฟิลล์ survival
t1



ประวัติการแก้ไข
2013-07-20 09:07:12
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-20 09:03:44 By : supattra.s
 


 

No. 7



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



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

Code (PHP)
while($row = mysql_fetch_assoc($qry)){
    //$data['11-07']['A1'] = 96;
    $data[$row['date']][$row['id_area']] = $row['survival'];
}


ตามความเข้าใจของผม ฟิลด์พวกนี้คุณ nan ได้จัดรูปแบบไว้แล้วใช่รึเปล่าครับ สังเกตจากภาพแรก
(ฟิลด์ทั้ง 3 ต้องมีค่าอยู่ในรูปแบบตามภาพที่หนึ่งนะครับ)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-20 09:16:45 By : {Cyberman}
 


 

No. 8



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



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

ตอบความคิดเห็นที่ : 7 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-07-20 09:16:45
รายละเอียดของการตอบ ::
ตอนแรกนึกภาพไม่ออก ขอบคุณมากๆค่ะ จะลองทำดูนะคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-20 09:44:45 By : supattra.s
 


 

No. 9



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



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

ตอบความคิดเห็นที่ : 7 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-07-20 09:16:45
รายละเอียดของการตอบ ::
ตอนนี้ลองทำแล้ว มันโชว์แค่วันที่ที่ไม่ซ้ำกัน แต่ไม่โชว์ id_area และค่า survival ค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-23 13:38:49 By : supattra.s
 


 

No. 10



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



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

ขอทำความเข้าใจกับคำถามอีกครั้งนะครับ
ผลลัพธ์ที่ต้องการ เหมือนรูปที่ผมโพสต์นี้หรือไม่?

2-array

Code (PHP)
<?php
$column = array('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10');

$data['11-07']['A1'] = 96;
$data['10-07']['A6'] = 99;
$data['11-07']['A7'] = 98;
$data['10-07']['A1'] = 97;
$data['09-07']['A1'] = 98;

asort($data);

echo '<table border="1">';
echo '<tr>';
echo '<th>DATE</th><th>'. implode('</th><th>', $column). '</th>';
echo '</tr>';
foreach($data as $date=>$arr){

    echo '<tr>';
	echo '<td>' . $date . '</td>';
	foreach($column as $key){
		$survival = isset($arr[$key]) ? $arr[$key] : 0;
		if($survival > 0) $survival = '<div style="background-color:yellow">' . $survival . '</div>';
		echo '<td>' . $survival  . '</td>';
	}
	echo '</tr>';
}
echo '</table>';

?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-23 15:14:16 By : {Cyberman}
 


 

No. 11



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



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

ตอบความคิดเห็นที่ : 10 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-07-23 15:14:16
รายละเอียดของการตอบ ::
ใช่ค่ะ แบบนี้เลยค่ะ เด๋ยวขอลองทำอีกครั้งนะคะ ขอบคุณมากๆค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-23 15:36:38 By : supattra.s
 


 

No. 12



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



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

ตอบความคิดเห็นที่ : 10 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-07-23 15:14:16
รายละเอียดของการตอบ ::
ลองแก้ code แล้วผลออกมาดังรูปค่ะ ไม่โชว์ survival

p

code ตัวอย่างค่ะ

Code (PHP)
 $sql = "SELECT DISTINCT(even.id_even),date from even ";
	
	echo  $sql;
	$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);//นับจำนวนแถวว่ามีข้อมูลหรือไม่

  	while($ListValue = mysql_fetch_assoc($rsValue)){//วนลูปแสดงผลข้อมูลมิติที่ 1 ตามแนวตั้ง /แถว

$data[$ListValue['date']][$ListValue['id_area']] = $ListValue['survival'];
$id_area= $ListValue['id_area'];
$survival= $ListValue['survival'];
asort($data);
}


echo '<table border="1">';
echo '<tr>';
echo '<th>DATE</th><th>'. implode('</th><th>', $id_area). '</th>';
echo '</tr>';
foreach($data as $date=>$arr){

    echo '<tr>';
	echo '<td>' . $date . '</td>';
	foreach($id_area as $key){
		$survival = isset($arr[$key]) ? $arr[$key] : 0;
		if($survival > 0) $survival = '<div style="background-color:yellow">' . $survival . '</div>';
		echo '<td>' . $survival  . '</td>';
	}
	echo '</tr>';
}
echo '</table>';




ประวัติการแก้ไข
2013-07-23 15:56:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-23 15:55:07 By : supattra.s
 


 

No. 13



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



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

Code (PHP)
$sql = "SELECT id_area,date, SUM(survival) AS survival from even ";
$sql .= " GROUP by date,id_area ";


ลองเปลี่ยน SQL ตามนี้นะครับ

-------
สับสนนิดหน่อยว่าคอลัมน์ A1-A10 เป็น id_area หรือ id_even


ประวัติการแก้ไข
2013-07-24 08:42:30
2013-07-24 08:43:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-24 08:39:36 By : {Cyberman}
 


 

No. 14



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



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

Code (PHP)
while($row = mysql_fetch_assoc($rsValue)){
    //$data['11-07']['A1'] = 96;
    $data[$row['date']][$row['id_area']] = $row['survival'];
}



asort($data); <= ไม่ต้องใช้เพราะเรียงด้วย SQL แล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-24 08:41:31 By : {Cyberman}
 


 

No. 15



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



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

สับสนนิดหน่อยว่าคอลัมน์ A1-A10 เป็น id_area หรือ id_even


Code (PHP)
$column = array('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10');


เปลี่ยนค่าไปตามฐานข้อมูลนะครับ
อาจจะดึงมาจากฐานข้อมูลที่เก็บ even_id หรือ id_area (ตรงส่วนนี้ผมไม่แน่ใจว่าใช้ตัวไหน)
ให้เก็บค่าไอดีที่ได้ไว้ใน $column
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-24 08:45:34 By : {Cyberman}
 


 

No. 16



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



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

ตอบความคิดเห็นที่ : 15 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-07-24 08:45:34
รายละเอียดของการตอบ ::
ลองทำตามที่บอกแล้วค่ะแต่ขึ้น error ตามรูปภาพ ค่ะ มันไม่ดึง id_area ที่เป็นหัว column มาโชว์ค่ะ

error



ประวัติการแก้ไข
2013-07-24 11:27:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-24 11:26:13 By : supattra.s
 


 

No. 17



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



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

Quote:
มันไม่ดึง id_area ที่เป็นหัว column มาโชว์


ชื่อคอลัมน์เป็นค่าตายตัวรึเปล่าครับ ถ้าตายตัวกำหนดไปเลย
$column = array('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10');


แต่ถ้าไม่ตายตัวให้ดึงจากตารางที่เก็บ id_area ทั้งหมดมา คอลัมน์จะได้ครบตามจริง

ขอดูข้อมูล id_area ในตาราง even หน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-24 13:15:57 By : {Cyberman}
 


 

No. 18



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



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

ตอบความคิดเห็นที่ : 17 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-07-24 13:15:57
รายละเอียดของการตอบ ::
นี่คือตาราง id_area ค่ะ

even

อีกตาราง คือ ตาราง even โดยเชื่อม id_area

area

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-24 14:02:47 By : supattra.s
 


 

No. 19



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



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

Final

Code (PHP)
//ค้นหา id_area เพื่อเอามาเป็นคอลัมน์
$arrAreaName = array();
$arrAreaId = array();
$sql = "SELECT `id_area`,`name_pond` FROM tb_area ";
$qry = mysql_query($sql) or die("Select error : ".mysql_error());
while($row = mysql_fetch_assoc($qry)){
	$arrAreaName[$row['id_area']] = $row['name_pond'];
}
$arrAreaId = array_keys($arrAreaName);

//echo '<pre>' . print_r($arrAreaName, true). '</pre>';

//ข้อมูลรายงาน
$sql = "SELECT `id_area`,`date`, `survival` FROM even ";
$sql.= " GROUP by `date`,`id_area`";
$rsValue = mysql_query($sql) or die("Select error : ".mysql_error());
while($ListValue = mysql_fetch_assoc($rsValue)){
	$data[$ListValue['date']][$ListValue['id_area']] = $ListValue['survival'];
}

//echo '<pre>' . print_r($data, true). '</pre>';

echo '<table border="1">';
echo '<tr>';
echo '<th>DATE</th><th>'. implode('</th><th>', $arrAreaName). '</th>';
echo '</tr>';
foreach($data as $date=>$arr){
	echo '<tr>';
	echo '<td>' . $date . '</td>';
	foreach($arrAreaId as $idArea){
		$survival = isset($arr[$idArea]) ? $arr[$idArea] : 0;
		if($survival > 0) $survival = '<div style="background-color:yellow">' . $survival . '</div>';
		echo '<td>' . $survival . '</td>';
	}
	echo '</tr>';
}
echo '</table>';

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-24 19:41:37 By : {Cyberman}
 


 

No. 20



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



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

ตอบความคิดเห็นที่ : 19 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-07-24 19:41:37
รายละเอียดของการตอบ ::
ได้แล้วค่ะ ขอบคุณมากๆเลยค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-25 11:58:41 By : supattra.s
 

   

ค้นหาข้อมูล


   
 

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