Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Aiuto MySQL - PHP

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Puoi fare sia con che senza ajax. Con ajax puoi lasciare il codice com'è, poi nel html dovresti fare una cosa del genere (almeno da quel che ho capito da chart.js)

    codice:
      <script>
            $(window).load(function () {
            var ctx = document.getElementById('canvas');
            $.ajax({  
                        type: 'GET',
                        dataType: 'json',
                        url: 'url_del_tuo_file_php.php',
                        success: function(response){
                             if(response){
                                    var labels = [];
                                    var data = [];
                                    // Prendi la risposta JSON e la dividi in label e i dati
                                    $.each(response, function(index, value){
                                       labels.push(value.Descrizione); 
                                        // Sono questi i tuoi valori da graficare ?
                                       data.push(value.Diagnosi_Principale); 
                                    });
                                    var chart = new Chart(ctx, {
                                       type: 'bar',
                                       data: {
                                        labels: labels,
                                        datasets: [{
                                           data: data
                                        }]
                                    }
                                    });
                              }
                        },
                        error: function(xhr, ajaxOptions, thrownError){
                               alert(thrownError);
                        },
                     });
           });
        </script>
    Altrimenti, al posto di farti restituire un json, puoi scrivere direttamente i dati per chart.js:

    Codice PHP:
    <?php 
    ....
    $labels = array();
    $data = array();
    if (
    $result->num_rows 0) {
      
    //Converto i risultati in un array associativo
      
    while($row $result->fetch_assoc()) {
        
    $data[] = $row['Diagnosi'];
        
    $labels[] = $row['Descrizione'];
      }
    }
    header('Content-Type: application/javascript');
    ?>

    var labels = ["<?php echo implode('","'$labels?>"];
    var data = [<?php echo implode(','$data?>];
    Poi l'html diventa

    codice:
    <script src="url_al_tuo_file_php.php"></script>
    $(window).load(function () {
            var ctx = document.getElementById('canvas');
            var chart = new Chart(ctx, {
                      type: 'bar',
                      data: {
                             labels: labels,  // data e labels sono presi dal tuo file php incluso come javascript
                             datasets: [{
                                 data: data
                             }]
                      }
            });
    }
    PS: Ho usato jQuery, inoltre prendilo con le pinze...ci potrebbero essere errori. E cmq forse è più un argomento da javascript
    Ultima modifica di boots; 28-05-2016 a 19:54

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    5
    Ti ringrazio tantissimo per l'aiuto. Seguirò la prima strada usando ajax.

    potresti indicarmi una pagina HTML tipo completa dove includi la chiamata ajax ? In particolare mi servirebbe capire come richiami la libreria chart.js e come si utilizzano i canvas

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.