ช่วยหน่อยครับ ได้ลองทำการฟใช้ในการแสดงตวามเปลี่ยนแปลงของสถิติโดยใช้ api จาก highcharts. ครับ
ได้ลองทำการฟใช้ในการแสดงตวามเปลี่ยนแปลงของสถิติโดยใช้ api จาก http://www.highcharts.com/ ครับ แต่พอให้แสดงผลมันขึ้นชื่อ match ซ้ำกันครับทั้งๆที่สถิตินั้นไม่ตรงกับmatchครับ
Code (PHP)
<meta charset="utf-8" />
<?php
require './config.php';
if (!$logged_in) {
header('Location: login.php');
exit();
}
if (!empty($_GET['user'])) {
$user_data = user_data($_GET['user']);
}
if (!isset($user_data) || !$user_data) {
$user_data = $login_data;
}
?>
<?php echo !empty($_GET['user']) ? '<a href="./show_graph_all.php">[<< BACK]</a> ':''; ?>
<a href="./dashboard.php">[Dashboard]</a>
<h1>Stat graph of <?php echo $user_data['first'].' '.$user_data['last']; ?></h1>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script>
$(document).ready(function() {
<?php foreach ($distances as $d) {
$q = $db->prepare('
select `match`.`name`, `match`.`date`, `stat`.`stroke`, `stat`.`time`
from `match`
inner join `stat` on `match`.`id` = `stat`.`match_id`
inner join `swimmer` on `stat`.`user_id` = `swimmer`.`id`
where `swimmer`.`id` = :ui and `stat`.`distance` = :d
order by `match`.`date` asc
');
$q->bindParam(':ui', $user_data['id']);
$q->bindParam(':d', $d);
$q->execute();
$gd = $q->fetchAll(PDO::FETCH_ASSOC);
$gdst = array();
foreach ($gd as $r) {
$gdst[(int)$r['stroke']][] = $r;
}
//var_dump($gdst);
?>
$('#graph-<?php echo $d; ?>').highcharts({
chart:{
zoomType:'xy',
},
title: {
text: 'Distance: <?php echo $d; ?>m'
},
yAxis: {
title: {
text: 'Time'
},
type: 'datetime',
dateTimeLabelFormats: {
millisecond: '%M:%S.%L'
}
},
xAxis: {
title: {
text: 'Match'
},
categories: [
<?php foreach ($gd as $r) { ?>
'<?php echo $r['name']; ?>',
<?php } ?>
]
},
series: [
<?php foreach ($strokes as $k => $st) {
if (array_key_exists($k, $gdst)) {
?>
{
name: '<?php echo $st; ?>',
data: [
<?php foreach ($gdst[$k] as $r) {
echo ($r['time']*1000) . ',';
} ?>
],
//pointStart: 1,
},
<?php } } ?>
]
});
<?php } ?>
});
</script>
<?php foreach ($distances as $d) { ?>
<div id="graph-<?php echo $d; ?>"></div>
<?php } ?>
ได้ลองทำการฟใช้ในการแสดงตวามเปลี่ยนแปลงของสถิติโดยใช้ api จาก http://www.highcharts.com/ ครับ แต่พอให้แสดงผลมันขึ้นชื่อ match ซ้ำกันครับทั้งๆที่สถิตินั้นไม่ตรงกับmatchครับ
แต่จริง match ในตารางมีตามนี้ครับ
โค๊ตแสดงmatchจะอยู่ตรงส่วนนี้ครับ
Code
xAxis: {
title: {
text: 'Match'
},
categories: [
<?php foreach ($gd as $r) { ?>
'<?php echo $r['name']; ?>',
<?php } ?>
]
},
Tag : PHP, MySQL, CakePHP
ประวัติการแก้ไข 2016-03-09 23:16:41 2016-03-10 10:01:18 2016-03-10 10:50:14
ถ้า Query ของดูพวก DISTINCT , GROUP BY ครับ
Date :
2016-03-11 17:41:09
By :
mr.win
ขออภัยครับลองเช็คดูมันไม่ได้แสดงผลซ้ำครับแต่มันจับคู่ การแสดงผลผิดพลาดครับ
Load balance : Server 03