Autor Zpráva
pito
Profil
Zdravím,
Prosím o radu kde můžu mít chybu.
Vybírám data z databáze tedy vybírám měsíce a počet návštěv v daném měsíci. Jenomže když si to chci zobrazit na grafu tak se mi nezobrazí žádné data jen mřížky na grafu.

tohle je výpis z DB a graf:

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

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

    $dataset1[] = array($zaznam2['mesic'],);
    $dataset2[] = array($zaznam2['pocet']);
}
?>

<script>
    Chart.defaults.global.legend = {
        enabled: false
    };

    // Line chart
    var ctx = document.getElementById("lineChart");
    var lineChart = new Chart(ctx, {
        type: 'line',
        data: {
            labels: <?php echo json_encode ($dataset1); ?>,
            datasets: [{
                label: "My First dataset",
                backgroundColor: "rgba(38, 185, 154, 0.31)",
                borderColor: "rgba(38, 185, 154, 0.7)",
                pointBorderColor: "rgba(38, 185, 154, 0.7)",
                pointBackgroundColor: "rgba(38, 185, 154, 0.7)",
                pointHoverBackgroundColor: "#fff",
                pointHoverBorderColor: "rgba(220,220,220,1)",
                pointBorderWidth: 1,
                data: <?php echo json_encode ($dataset2); ?>
            }, ]
        },
    });
milous
Profil
Těžko říct, asi bych se podíval, co mi vypíše:
<?php echo json_encode ($dataset1); ?>
a porovnal to s tím, co je uvedený v nějakým example tý knihovny co používáš. Nebo jinak: Rozchoď si to s nějakýma statickýma datama a pak tam zkus nacpat stejnou strukturu dat z databáze a mělo by to fungovat.
pito
Profil
echo $zaznam2['mesic'];
echo $zaznam2['pocet'];
když si chci vypsat ty data tak mi to vypíše: 101811171211192833042154963674987936
to znamená jako 10 měsíc 18 návštěv, 11 měsíc 17 návštěv..........

a v tom example to je takhle:
    Chart.defaults.global.legend = {
        enabled: false
      };

      // Line chart
      var ctx = document.getElementById("lineChart");
      var lineChart = new Chart(ctx, {
        type: 'line',
        data: {
          labels: ["January", "February", "March", "April", "May", "June", "July"],
          datasets: [{
            label: "My First dataset",
            backgroundColor: "rgba(38, 185, 154, 0.31)",
            borderColor: "rgba(38, 185, 154, 0.7)",
            pointBorderColor: "rgba(38, 185, 154, 0.7)",
            pointBackgroundColor: "rgba(38, 185, 154, 0.7)",
            pointHoverBackgroundColor: "#fff",
            pointHoverBorderColor: "rgba(220,220,220,1)",
            pointBorderWidth: 1,
            data: [31, 74, 6, 39, 20, 85, 7]
          }
Tak co tam je špatně, že mi to nechce vypsat data pomocí json_encode
milous
Profil
Třeba pomůže:
<?php
$data = array(31,74,6,39,20,85,71); // $dataset2[] = $zaznam2['pocet'];
echo json_encode($data) . PHP_EOL;
echo '[' . implode(',', $data) . ']' . PHP_EOL;;

$data = array(array(31),array(74)); //$dataset2[] = array($zaznam2['pocet']);
echo json_encode($data) . PHP_EOL;

Výstup:
[31,74,6,39,20,85,71]
[31,74,6,39,20,85,71] 
[[31],[74]]

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: