|
|
|
สอบถามเรื่องการดึงข้อมูลขึ้นมาโชว์แบบ 2 มิติค่ะ ตอนนี้ติดตรงวันที่แสดงซ้ำกันค่ะ |
|
|
|
|
|
|
|
ข้อมูลในฐานข้อมูลเป็นอย่างไรครับ จะได้ช่วยดูให้ได้ครับ
|
|
|
|
|
Date :
2013-07-19 16:41:21 |
By :
heartbeat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ group by ช่วยครับ
Quote:
|
|
|
|
|
Date :
2013-07-19 18:17:14 |
By :
iieszz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รูปแบบอาร์เรย์ต้องปรับดังนี้ครับ
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} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอทำความเข้าใจกับคำถามอีกครั้งนะครับ
ผลลัพธ์ที่ต้องการ เหมือนรูปที่ผมโพสต์นี้หรือไม่?
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} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สับสนนิดหน่อยว่าคอลัมน์ 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} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|