ตัวอย่างการออกรายงานยอดขายรายปีแบบกราฟแท่ง php+mysqli+database+Chart.js
ภาพตัวอย่าง
Example Data
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
CREATE TABLE `prdsales` ( `s_id` int(11) NOT NULL, `totals` float(10,2) NOT NULL, `datesave` date NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `prdsales` -- INSERT INTO `prdsales` (`s_id`, `totals`, `datesave`) VALUES (1, 22.00, '2018-06-13'), (3, 33.00, '2016-06-13'), (4, 111.00, '2017-06-30'), (5, 90.00, '2017-07-15'), (6, 30000.00, '2018-01-05'), (7, 200000.00, '2017-06-16'), (8, 25500.00, '2017-06-07'), (9, 4800.00, '2017-06-29'), (10, 9999.00, '2017-06-16'), (11, 5200.00, '2017-06-27'), (12, 100000.00, '2016-07-03'), (13, 50000.00, '2018-01-10'), (14, 8500.00, '2018-01-09'), (15, 70000.00, '2015-01-01'), (16, 98000.00, '2015-01-01'), (17, 50000.00, '2019-01-31'), (18, 20000.00, '2019-01-31'); ALTER TABLE `prdsales` ADD PRIMARY KEY (`s_id`); -- ALTER TABLE `prdsales` MODIFY `s_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19; |
Example Code PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
<html> <head> <meta charset="utf-8"> <title>รายงานในแบบกราฟ by devbanban.com</title> </head> <?php $con= mysqli_connect("localhost","root","password","db_name") or die("Error: " . mysqli_error($con)); mysqli_query($con, "SET NAMES 'utf8' "); $query = " SELECT SUM(totals) AS totol, DATE_FORMAT(datesave, '%Y') AS datesave FROM prdsales GROUP BY DATE_FORMAT(datesave, '%Y%') "; $result = mysqli_query($con, $query); $resultchart = mysqli_query($con, $query); //for chart $datesave = array(); $totol = array(); while($rs = mysqli_fetch_array($resultchart)){ $datesave[] = "\"".$rs['datesave']."\""; $totol[] = "\"".$rs['totol']."\""; } $datesave = implode(",", $datesave); $totol = implode(",", $totol); ?> <h3 align="center">รายงานในแบบกราฟ by devbanban.com</h3> <table width="200" border="1" cellpadding="0" cellspacing="0" align="center"> <thead> <tr> <th width="10%">ปี</th> <th width="10%">ยอดขาย</th> </tr> </thead> <?php while($row = mysqli_fetch_array($result)) { ?> <tr> <td align="center"><?php echo $row['datesave'];?></td> <td align="right"><?php echo number_format($row['totol'],2);?></td> </tr> <?php } ?> </table> <?php mysqli_close($con);?> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.js"></script> <hr> <p align="center"> <!--devbanban.com--> <canvas id="myChart" width="800px" height="300px"></canvas> <script> var ctx = document.getElementById("myChart").getContext('2d'); var myChart = new Chart(ctx, { type: 'bar', data: { labels: [<?php echo $datesave;?> ], datasets: [{ label: 'รายงานภาพรวม แยกตามปี (บาท)', data: [<?php echo $totol;?> ], backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)' ], borderColor: [ 'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)' ], borderWidth: 1 }] }, options: { scales: { yAxes: [{ ticks: { beginAtZero:true } }] } } }); </script> </p> <!--devbanban.com--> </html> |
อย่าลืมเอาไปพัฒนาต่อนะครับ devbanban.com
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com และทีมงานได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
fanpage : https://www.facebook.com/sornwebsites/