Google Charts javascript API mit PHP Loop

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Google Charts javascript API mit PHP Loop

    Ich verwende die Google Charts API in einem kleinen Projekt, in dem ich ein paar Statistiken auswerte. Dieser Code gibt mir einen Syntax Error:

    Quellcode

    1. switch($variable){
    2. case 1:
    3. ...
    4. echo"
    5. <script type='text/javascript'>
    6. // Load the Visualization API and the piechart package.
    7. google.load('visualization', '1.0', {'packages':['corechart']});
    8. // Set a callback to run when the Google Visualization API is loaded.
    9. google.setOnLoadCallback(drawChart);
    10. // Callback that creates and populates a data table,
    11. // instantiates the pie chart, passes in the data and
    12. // draws it.
    13. function drawChart() {
    14. // Create the data table.
    15. var data = new google.visualization.DataTable();
    16. data.addColumn('string', 'Monat');";
    17. For($a=1; $a<=$anzahl; $a++){
    18. echo "data.addColumn('number', 'Vergleich".$a."');";
    19. }
    20. For($tmonat=$vjahr.$vmonat;$tmonat<=$bjahr.$bmonat;$tmonat++){
    21. $tmonat = (string)$tmonat;
    22. $sstmonat = substr($tmonat, -2);
    23. If($sstmonat=="13"){
    24. $tmonat = (int)$tmonat;
    25. $tmonat+=88;
    26. }
    27. switch ($tmonat){
    28. case "01":
    29. $tMonatname= "Januar";
    30. break;
    31. case "02":
    32. $tMonatname= "Februar";
    33. break;
    34. case "03":
    35. $tMonatname= "März";
    36. break;
    37. case "04":
    38. $tMonatname= "April";
    39. break;
    40. case "05":
    41. $tMonatname= "Mai";
    42. break;
    43. case "06":
    44. $tMonatname= "Juni";
    45. break;
    46. case "07":
    47. $tMonatname= "Juli";
    48. break;
    49. case "08":
    50. $tMonatname= "August";
    51. break;
    52. case "09":
    53. $tMonatname= "September";
    54. break;
    55. case "10":
    56. $tMonatname= "Oktober";
    57. break;
    58. case "11":
    59. $tMonatname= "November";
    60. break;
    61. case "12":
    62. $tMonatname= "Dezember";
    63. break;
    64. }
    65. echo "
    66. data.addRows(1);
    67. data.setValue(".$tmonat.",0,'".$tMonatname."');";
    68. For($i=1;$i<=$anzahl;$i++){
    69. echo "
    70. data.setValue(".$tmonat.",".$i.",".$arrayAnz[$i][$tmonat].");";
    71. }
    72. }
    73. echo "
    74. // Set chart options
    75. var options = {'title':'Diagramm',
    76. 'width':500,
    77. 'height':350,
    78. 'vAxis.minValue': 0};
    79. // Instantiate and draw our chart, passing in some options.
    80. var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    81. chart.draw(data, options);
    82. }
    83. </script>";
    84. break;
    Alles anzeigen

    Jemand eine Idee warum das nicht funktioniert?
    Hab es bereits auch schon auf andere Arten(setCell,..) getestet aber ging nicht. An einem anderen Ort in meinem Code hat das selbe funktioniert, allerdings war es dort eine einfache for schleife mit einem counter und sonst nichts... kann in der api keine anderen normalen js und php(switch case, variablendeklaration,...) funktionen verwenden oder was ist das problem?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von SJay96 ()

  • (Hab den Code editiert, nun sollte man es besser sehen)
    Das ganze script befindet sich in einem echo, welches innerhalb <?php ?> steht. Also <?php restlicher code... echo"<script>...</script>" weiterer code ?>
    Und die Variablen, welche in dem Script verwendet werden, sind oben im php definiert. Andere Ideen?
    Danke trotzdem