Autor Zpráva
pito
Profil
Zdravím,

Chci se zeptat jak můžu vypsat do grafu roční návštěvnost kterou mám v databázi.

Databáze:
ID    day                   user
12    2017-04-10       14 
11    2017-04-09       18
10    2017-04-08       10 
.....

graf potom vypada tak:
 $(document).ready(function() {
        Morris.Bar({
            element: 'graph_bar',
            data: [
                {device: '2014', geekbench: 380},
                {device: '2015', geekbench: 655},
                {device: '2016', geekbench: 275},
                {device: '2017', geekbench: 2371}

            ],
            xkey: 'device',
            ykeys: ['geekbench'],
            labels: ['Geekbench'],
            barRatio: 0.4,
            barColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'],
            xLabelAngle: 35,
            hideHover: 'auto',
            resize: true
        });

         $MENU_TOGGLE.on('click', function() {
            $(window).resize();
        });
    });


zkoušel jsem to zapsat tak:

$vyber = mysql_query("SELECT * FROM
(
  SELECT SUM(user) AS pocet , YEAR(day) AS rok
  FROM chilli_stats_1_day
  GROUP BY YEAR(day)
  ORDER BY YEAR(day) DESC
  LIMIT 5
) x
ORDER BY rok ASC")or die(mysql_error());

while ($zaznam2=MySQL_Fetch_Array($vyber)){

    $year[] = $zaznam2['rok'];
    $user[] = $zaznam2['pocet'];
}

a graf:
data: [{device: <?php echo json_encode ($year); ?>, geekbench: <?php echo json_encode ($user); ?>}],



vypsalo mi to roky do jednoho řádku tedy a data v grafu taky do jednoho bodu
Kajman
Profil
Zkuste něco jako
<?php
$data=Array();
while ($zaznam2=MySQL_Fetch_Array($vyber)){
    $data[] = Array( "device" => $zaznam2['rok'], "geekbench" => $zaznam2['pocet']);
}
?>
data: <?php echo json_encode ($data); ?>,
pito
Profil
To je ono. Super dík
pito
Profil
a jak bych mohl zapsat data v tomhle grafu:

 $(document).ready(function() {
        var data1 = [
          [gd(2012, 1, 1), 17],
          [gd(2012, 1, 2), 74],
          [gd(2012, 1, 3), 6],
          [gd(2012, 1, 4), 39],
          [gd(2012, 1, 5), 20],
          [gd(2012, 1, 6), 85],
          [gd(2012, 1, 7), 7]
        ];


        $("#canvas_dahs").length && $.plot($("#canvas_dahs"), [
          data1
        ], {
          series: {
            lines: {
              show: false,
              fill: true
            },
            splines: {
              show: true,
              tension: 0.4,
              lineWidth: 1,
              fill: 0.4
            },
            points: {
              radius: 0,
              show: true
            },
            shadowSize: 2
          },
          grid: {
            verticalLines: true,
            hoverable: true,
            clickable: true,
            tickColor: "#d5d5d5",
            borderWidth: 1,
            color: '#fff'
          },
          colors: ["rgba(38, 185, 154, 0.38)", "rgba(3, 88, 106, 0.38)"],
          xaxis: {
            tickColor: "rgba(51, 51, 51, 0.06)",
            mode: "time",
            tickSize: [1, "day"],
            //tickLength: 10,
            axisLabel: "Date",
            axisLabelUseCanvas: true,
            axisLabelFontSizePixels: 12,
            axisLabelFontFamily: 'Verdana, Arial',
            axisLabelPadding: 10
          },
          yaxis: {
            ticks: 8,
            tickColor: "rgba(51, 51, 51, 0.06)",
          },
          tooltip: false
        });

        function gd(year, month, day) {
          return new Date(year, month - 1, day).getTime();
        }
      });

zkoušel jsem to podobně zapsat jenže mi naskočily podivné hodnoty na ose x -1 až 1 a na ose y to stejne -1 až 1
Kajman
Profil
$data[] = Array( alternativni_php_funkce_ke_gd_z_js($zaznam2['datum']), $zaznam2['pocet']);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: