我有一个使用Laravel 4创建的登录/注销应用程序。我需要进行网络统计,以便每当用户登录时,它将向我显示一天之内的用户数量的折线图。
以下是我的登录方法,每当用户登录时,我便从该方法将数据保存在数据库中。
public function postLogin() {
$input = Input::all();
$rules = array('email' => 'required', 'password' => 'required');
$v = Validator::make($input, $rules);
if ($v->fails()) {
return Redirect::to('login')->withErrors($v);
} else {
$credentials = array('email' => $input['email'], 'password' => $input['password']);
if (Auth::attempt($credentials)) {
$id = Auth::user()->id;
$auditor = new Auditor();
$auditor->user_id = $id;
$auditor->operation = 'login';
$auditor->save();
return Redirect::to('admin');
} else {
return View::make('home.login', array('message' => 'Wrong username/password!'));
}
}
}
我有一个控制器,可以在其中对数据库中的数据进行分组。我知道这是不正确的,但我不知道如何继续创建图形。
public function graph() {
$auditor = new Auditor();
$auditor = array();
//get data from database
$sql = "SELECT DATE('auditor'.'created') AS date" . "COUNT('auditor'.'auditor_id') AS 'count'". "FROM 'auditor'".
"WHERE auditor .created BETWEEN 2015-09-01 00:00:00 AND 2015-09-31 23:59:59". "GROUP BY date"."ORDER BY date";
$result = mysqli_query($sql) or die('Query failed: ' . mysql_error());
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
}
}
请您帮我画图,分组后是否可以在图中显示数据?
最佳答案
我第二个phpChart。过去曾用于在线报告任务。快速创建图表非常容易。
这是基于phpChart的online example -- Axis Labels Rotated Text 2:解决方案的解决方案
<?php
$line = array(array('user', 12), array('admin', 3), array('user2', 1), array('user3', 1));
$pc = new C_PhpChartX(array($line),'user_chart');
$pc->add_plugins(array('canvasTextRenderer'));
//set series
$pc->add_series(array('renderer'=>'plugin::BarRenderer'));
//set axes
$pc->set_axes(array(
'xaxis' => array(
'renderer'=>'plugin::CategoryAxisRenderer',
'tickRenderer'=>'plugin::CanvasAxisTickRenderer'),
'yaxis' => array(
'autoscale'=>true,
'tickRenderer'=>'plugin::CanvasAxisTickRenderer')
));
$pc->draw(800,500);
?>
结果:
这是我发现的Codeproject的精彩介绍:http://www.codeproject.com/Articles/604542/Creating-Interactive-HTML5-Graphs-in-PHP
Laravel并没有提供任何图表库。您需要找到一个用PHP编写的第三方库,才能从Laravel应用生成图表。
一些免费的图表库是:
pChart-一个用于构建图表的PHP类。示例图如下所示:
phpCHART - Make HTML5 Charts in PHP。示例图如下所示:
我强烈建议您在StackOverflow中搜索php charting library,以查看其他有经验的用户的意见。
选择特定库时,将其作为其他任何依赖项添加到您的composer.json文件中。