2016-04-05 6 views
0

Liniendiagramm wird sehr schön mit (int) Werte mit Google-Diagramme API (siehe genau unter Code), aber eine der Prozentwert der Spalte ist in Float, so dass ich versuchte (floatval) statt von (int) aber PHP-Server-Datei löst 500 internen Server Fehler.Verwenden von Float-Wert in Google Liniendiagramm mit PHP

Was ist die Lösung speziell bei der Verwendung von Float-Wert? (int) str_replace ("%", "", $ row ['prozentual'])

Beachten Sie auch, dass meine Werte als JSON von MySQL DB kommen. Bitte hilf mir, das zu lösen.

PHP (Serverdatei): $ rows [] = array (explode ("-", $ row ['starte_on']) [0] .trim(), 'Coverage'); while ($ row = mysqli_fetch_array ($ ergebnis)) { $ rows [] = array (explode ("-", $ row ['starte_on']) [0] .trim(), (int) str_replace ("% "," ", $ row ['prozentual'])); }

JS (in php): 
// Draw line chart 
function drawLineChart(chartType, chartTitle) { 
    google.charts.setOnLoadCallback(lineChartData); 

    function lineChartData() { 
     var lineChartJsonData = $.ajax({ 
      type: 'GET', 
      url: "<?php echo $general_scripts; ?>", 
      data: { id1: chartType, id2: "Chart", id100: "<?php echo $getPage; ?>" }, 
      dataType:"json", 
      async: false, 
      beforeSend: function() { 
       $("#progress").show(); 
      }, 
      success: function(data) { 
       $("#progress").hide(); 
      }, 
     }).responseText; 

     var options = { 
      title: chartTitle, 
      width: '390', 
      height: '300', 
      backgroundColor: '#f5fffa', 
     }; 

     var data = new google.visualization.arrayToDataTable(($.parseJSON(lineChartJsonData))); 
     var chart = new google.visualization.LineChart(document.getElementById(chartType)); 
     chart.draw(data, options); 
    } 
} 

Antwort

0

(float) funktioniert gut, hier ist es:

Reihen [$] = array (explode ("-" $ row [ 'started_on']) [0] .trim (), (float) str_replace ("%", "", $ row ['data'])));

echo json_encode ($ rows);

Geben Sie diese Daten chart.draw (Daten, Optionen);

Verwandte Themen