[RISOLTO] HighChart e PHP

Alex@1983

Utente Attivo
9 Mag 2015
126
2
18
Ciao a tutti,

qualcuno di voi usa HighChart interfacciato con MySql ?

io ho tentato di approcciarmici ma , francamente di javascript non ci capisco troppo e non ho idea di come modificare il codice di base ( lo riporto sotto) per far si che vada a pescarmi i dati dal DB

Mi date uno spunto ?

Codice:
<script type="text/javascript">

Highcharts.chart('containergrafici', {
    chart: {
        type: 'line'
    },
    title: {
        text: 'Mensili'
    },
    subtitle: {
        text: ''
    },
    xAxis: {
        categories: ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic']
    },
    yAxis: {
        title: {
            text: 'Flussi'
        }
    },
    plotOptions: {
        line: {
            dataLabels: {
                enabled: true
            },
            enableMouseTracking: false
        }
    },
    series: [{
        name: '2016', // A questo punto punto vorrei riuscire ad estrarre i dati dal DB 
        data: [7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6] // Questi sono i dati di esempio di HighChart
    }, {
        name: '2017',   // A questo punto punto vorrei riuscire ad estrarre i dati dal DB 
        data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]  // Questi sono i dati di esempio di HighChart
    }]
});

   </script>
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
i dati vanno presi con un linguaggio idoneo a gestire il db esempio PHP,
poi possono essere passati a javascript per Highcharts in questo modo
PHP:
$(document).ready(function() {

  var    SPW_color       = Highcharts.getOptions().colors;

  var    SPW_Chart       = '<?php echo ( empty($SPW_Chart)       ? ''         : $SPW_Chart );       ?>',
         SPW_ChartInv    = '<?php echo ( empty($SPW_ChartInv)    ? false      : $SPW_ChartInv );    ?>',
         SPW_Title       = '<?php echo ( empty($SPW_Title)       ? 'Title'    : $SPW_Title );       ?>',
         SPW_SubTitle    = '<?php echo ( empty($SPW_SubTitle)    ? 'SubTitle' : $SPW_SubTitle );    ?>',
         SPW_LabelsOnCol = '<?php echo ( empty($SPW_LabelsOnCol) ? false      : $SPW_LabelsOnCol ); ?>',
         SPW_Stacking    = '<?php echo ( empty($SPW_Stacking)    ? false      : $SPW_Stacking );    ?>';

  var    SPW_xAxis       = <?php echo json_encode($SPW_xAxis); ?>;
  var    SPW_yAxis       = <?php echo json_encode($SPW_yAxis); ?>;
  var    SPW_ySeries     = <?php echo json_encode($SPW_ySeries); ?>;

  var    Len_yAxis       = SPW_yAxis.length,
         Len_ySeries     = SPW_ySeries.length,
         i               = 0;

  var    Chart_yAxis     = [],
         Chart_ySeries   = [];

    for(i=0; i < Len_yAxis;   i++) { get_yAxes();  }
    for(i=0; i < Len_ySeries; i++) { get_ySerie(); }

$('#container').highcharts
    ({
....
....
    title:
        {
        text: SPW_Title
        },
....
....

così facendo, ho costruito un'unica struttura necessaria per gestire circa 30 grafici di formato diverso
ho dovuto costruire due strutture specifiche per grafici di tipo waterfall rispettivamente
waterfall singolo, waterfall ripetuto nello stesso grafico

come detto quello che si può fare è creare un'unica struttura inserendoci i dati necessari a parte grafici molto specifici

(cambiato formato codice in php per leggibilità)
 
Ultima modifica:

Alex@1983

Utente Attivo
9 Mag 2015
126
2
18
Ciao Marino, grazie per la risposta,

il mio problema è che non so inserire nel file di HighChart che ho postato prima le query che gia ho in PHP

Esempio:
PHP:
$sqlMarzo = "SELECT SUM(ingressi) as somma FROM DB WHERE YEAR (data) = YEAR(CURDATE()) AND MONTH (data) = '03'";                    //
$sqlMar = mysql_query($sqlMarzo);                                            //
list($sommaMar) = mysql_fetch_array($sqlMar);      

        $numberMar = $sommaMar;
        $formato_per_migliaia_Mar = number_format($numberMar, 0, ',', ' ');  

$sqlAprile = "SELECT SUM(ingressi) as somma FROM DB WHERE YEAR (data) = YEAR(CURDATE()) AND MONTH (data) = '04'";                    //
$sqlApr = mysql_query($sqlAprile);                                            //
list($sommaApr) = mysql_fetch_array($sqlApr);      

        $numberApr = $sommaApr;
        $formato_per_migliaia_Apr = number_format($numberApr, 0, ',', ' ');

$sqlMaggio = "SELECT SUM(ingressi) as somma FROM DB WHERE YEAR (data) = YEAR(CURDATE()) AND MONTH (data) = '05'";                    //
$sqlMag = mysql_query($sqlMaggio);                                            //
list($sommaMag) = mysql_fetch_array($sqlMag);
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
non so inserire nel file di HighChart che ho postato prima le query che gia ho in PHP
se leggi il mio esempio, vedi che si tratta di uno script js,

viene richiamato all'interno dell'html, a sua volta richiamato dallo script php,
dove ci sono tutte le query ed elaborazioni per la preparazione delle variabili necessarie ad Highcharts

guardando al titolo della chart,

lo script php ne determinerà il valore nella variabile $SPW_Title, (ma può valere per gli assi, come per le serie di dati)

l'istruzione seguente passa il titolo allo script js (vedi anche tutte le altre variabili)
HTML:
SPW_Title = '<?php echo ( empty($SPW_Title) ? 'Title' : $SPW_Title ); ?>',

con l'associazione seguente, il titolo viene incluso nella struttura voluta da Highcharts (allo stesso modo vengono associati tutti gli altri valori anche se, per assi e serie di dati, la cosa è un po' più complessa, per la quantità dei parametri necessari)
HTML:
title:
    {
    text: SPW_Title
    },

mi sembrano chiari i passaggi .....

un secondo esempio,
https://forum.mrw.it/threads/php-creare-chart-con-highchart.46770/#post-182958
 
Ultima modifica:
  • Like
Reactions: Alex@1983

Alex@1983

Utente Attivo
9 Mag 2015
126
2
18
Ottimo Marino51 !!!!!

Ci ho messo un po ad entrare nel merito.... ma con le tue dritte adesso il grafico di HighChart è perfetto e perfettamente dimanico!!!

Grazie mille per l'aiuto !!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 7
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
felino Risolto - [Wordpress][WooCommerce] PayPal Checkout e campi di fatturazione WordPress 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
S Problema in PHP per invio file XML - RISOLTO- PHP 8
A [Javascript] [RISOLTO] Doppio "submit", in uno stesso "Form" , che puntino ad "action" diversi Javascript 1
marino51 [Risolto]videochat di messenger ha smesso di funzionare sul telefonino Smartphone e tablet 1
A [Javascript] [HTML] RISOLTO...Allungare un box all'apertura della pagina No Mouse over Javascript 9
ken_korn [Javascript][Risolto] browser.tab.Tabs.favIconUrl non funziona Javascript 5
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2
A [RISOLTO] Table elaborata da codice PHP con dati da DB non visualizzata in IFRAME PHP 15
T [Photoshop] Problema creazione pennello personalizzato [RISOLTO] Photoshop 3
Zea [PHP] RISOLTO - creare link con il risultato dell'interrogazione db PHP 1

Discussioni simili