Advertisement
Guest User

Untitled

a guest
Mar 7th, 2014
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.99 KB | None | 0 0
  1. <?php
  2. // Create connection
  3. $con=mysqli_connect("localhost","root","","ci");
  4.  
  5. //Получаем метку даты 30 дневной давности о оформляем его в удобовариемый mysql-ем вид
  6. $last30d=date("c",strtotime("-30 day"));
  7.  
  8. //Делаем выборку событий из базы старше нужного
  9. $sql = "SELECT * , SUM(value), DATE_FORMAT(`time_added`,'%Y-%m-%d') FROM `stats` WHERE time_added>'$last30d'  GROUP BY DAY(`time_added`)";
  10. $res=mysqli_query($con,$sql);
  11. while($row=mysqli_fetch_array($res, MYSQLI_ASSOC)) {
  12.     $days[] = $row;
  13. }
  14. ?>
  15.  
  16. <script type="text/javascript" src="https://www.google.com/jsapi"></script>
  17. <script type="text/javascript">
  18.     // Load the Visualization API library and the piechart library.
  19.     google.load('visualization', '1.0', {'packages':['corechart']});
  20.     google.setOnLoadCallback(drawChart);
  21.     // ... draw the chart...
  22.  
  23.     function drawChart() {
  24.     // Create the data table.
  25.     var data = new google.visualization.DataTable();
  26.     data.addColumn('date', 'Дата');
  27.     data.addColumn('number', 'Запросов');
  28.     data.addRows([
  29.         <?
  30.         foreach($days as $key=>$day) {
  31.         list($y,$m,$d)=explode("-",$day['DATE_FORMAT(`time_added`,\'%Y-%m-%d\')']);
  32.         $m--; //потому что в JS месяцы нумеруются от нуля
  33.         echo "[new Date($y, $m, $d), {$day['SUM(value)']}],\n";
  34.         }
  35.         ?>
  36.     ]);
  37.     var options = {
  38.         'title'  : 'Поисковых запросов, в день:',
  39.         'width'  : 900,
  40.         'height' : 200,
  41.         'legend' : {
  42.             'position':'none'
  43.         },
  44.         'titleTextStyle':{
  45.             'fontName' : 'Georgia',
  46.             'fontSize' : 20,
  47.             'bold'     : false},
  48.         chartArea: {
  49.             width: '100%'
  50.         },
  51.         vAxis: {
  52.             textPosition: 'in',
  53.             minValue: 0
  54.         },
  55.     };
  56.  
  57.     // Instantiate and draw our chart, passing in some options.
  58.     var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
  59.     chart.draw(data, options);
  60.     }
  61. </script>
  62. <div id="chart_div" style="width: 900px; height: 200px;"></div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement