|
|
|
php กำลังตามหาวิธีการคำนวณผลรวมของข้อมูลที่บันทึกไว้ในแต่ละวันจากฐานข้อมูล |
|
|
|
|
|
|
|
ผมกำลังตามหา code สำหรับการคำนวณผลรวมข้อมูลที่บันทึกไว้ในฐานข้อมูลครับ
จาก code ตัวอย่างนี้หากผมทำการเป็น date_day(date) ไปเป็น date_day(timestamp) จะยังสามารถคำนวณผลรวมจากข้อมูลในวันนั้นๆไปอยู่รึเปล่าครับ เพราะว่าข้อมูล date จะเป็นข้อมูลแบบ date("Y-m-d") แต่ timestamp จะเป็นข้อมูลแบบ date("Y-m-d G:i:s")
ขอความช่วยเหลือจากผู้เชี่ยวชาญด้วยครับ ขอบคุณครับ
Code (SQL)
--
-- Table structure for table `tbl_date`
--
CREATE TABLE `tbl_date` (
`date_id` int(11) NOT NULL,
`date_day` date NOT NULL,
`date_val` int(11) NOT NULL,
`date_val2` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `tbl_date`
--
INSERT INTO `tbl_date` (`date_id`, `date_day`, `date_val`, `date_val2`) VALUES
(1, '2016-06-01', 2, 3),
(2, '2016-06-01', 3, 1),
(3, '2016-06-01', 4, 7),
(4, '2016-06-03', 4, 1),
(5, '2016-06-03', 5, 2),
(6, '2016-06-03', 2, 2),
(7, '2016-06-03', 6, 3);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `tbl_date`
--
ALTER TABLE `tbl_date`
ADD PRIMARY KEY (`date_id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tbl_date`
--
ALTER TABLE `tbl_date`
MODIFY `date_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
Code (PHP)
<table class="table table-bordered">
<tr>
<th>#</th>
<th>Date Day</th>
<th>Date Val</th>
<th>Date Val2</th>
<th>Sum val</th>
<th>Num </th>
<th>Sum val2</th>
</tr>
<?php
$i=1;
$q="
SELECT a.*,
(SELECT COUNT(b.date_day) FROM tbl_date b WHERE b.date_day=a.date_day GROUP BY b.date_day) as num,
(SELECT SUM(b.date_val) FROM tbl_date b WHERE b.date_day=a.date_day GROUP BY b.date_day) as sumval,
(SELECT SUM(b.date_val2) FROM tbl_date b WHERE b.date_day=a.date_day GROUP BY b.date_day) as sumval2
FROM tbl_date a ORDER BY a.date_day ASC
";
$result = $mysqli->query($q); // ทำการ query คำสั่ง sql
$total=$result->num_rows; // นับจำนวนถวที่แสดง ทั้งหมด
$aggr_arr=array();
while($row=$result->fetch_array()){ // วนลูปแสดงข้อมูล
$dateKey=date("dmY",strtotime($row['date_day']));
$row_span=0;
if(!isset($aggr_arr[$dateKey])){
$aggr_arr[$dateKey]=array();
$row_span=1;
}
?>
<tr>
<td><?=$i?></td>
<td><?=$row['date_day']?></td>
<td><?=$row['date_val']?></td>
<td><?=$row['date_val2']?></td>
<?php if($row_span==1){?>
<td rowspan="<?=$row['num']?>"><?=$row['sumval']?></td>
<?php } ?>
<td><?=$row['num']?></td>
<?php if($row_span==1){?>
<td rowspan="<?=$row['num']?>"><?=$row['sumval2']?></td>
<?php } ?>
</tr>
<?php $i++; } ?>
</table>
Tag : PHP, MySQL, HTML, Windows
|
|
|
|
|
|
Date :
2020-06-19 12:49:45 |
By :
deatinyfrank |
View :
600 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|