我试图用jQuery flot显示网站点击量。 问题:任何一天都没有点击。 示例(一周): 星期一 - 2 星期二 - 12 星期三 - 0 ..... 星期天 - 0
我使用以下语句从我的数据库中获取数据:
var pageviews = [
<?php
$query = "SELECT DAY(`h_date`) AS day, COUNT(*) as zugriffe FROM hits WHERE h_server = $serverID AND WEEK(`h_date`,3) = '$selectKW' GROUP BY day";
$mydb->query($query);
$wCount = 0;
while ($row = $mydb->fetchRow()){
$wCount++;
echo '['.$row['day'].','.$row['zugriffe'].'],';
$tag = $row['day'];
}
?>
];
示例输出数据库:
day zugriffe
13 0
14 133
15 114
16 0
17 86
19 1
如何填写0次点击日期的缺失轴值?
提前致谢
答案 0 :(得分:1)
您可以在将数据提交到flot之前修复数据。
例如,给出数据库输出,如:
// this is unsorted and missing days 12, 13, 18, 19, 20
var pageviews = [[14,0],[11,133],[16,0],[17,89],[21,1]];
// sort it just in case (not sure if this is applicable to your data)
// sorting on X value
pageviews.sort(function(a,b){
return a[0]-b[0];
});
// a quick function to scan and fill in missing x values
$.map(pageviews, function(obj){
var rV = [];
if (this.lastVal){
var x = obj[0];
var lastX = this.lastVal[0];
for (var i = lastX + 1; i < x; i++){
rV.push([i,0]);
}
rV.push(obj);
} else {
rV = [obj];
}
this.lastVal = obj;
return rV;
});