2016-05-31 8 views
1

Zum ersten Mal mit der Google-Visualisierungs-API arbeiten und versuchen, Zeilendaten mit PHP-Variablen in der Funktion createChart() zu definieren. Der Code arbeitet mit gibt den Fehler unterWie können PHP-Variablen in der Google Visualization API verwendet werden, um Datenzeilen zu definieren?

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in

Dies ist der Code, arbeite mit

function createChart() { 

    //create data table object 
    var dataTable = new google.visualization.DataTable(); 

    //define columns 
    dataTable.addColumn('string','Name'); 
    dataTable.addColumn('number', 'Total'); 

    <?php 
     $year=1; 
     $subjectID=1; 

     $result = mysqli_query($connection, "select * from fullresult where year='{$year}' and subject_id='{$subjectID}' order by firstname"); 
     while ($students = mysqli_fetch_assoc($result)) { 
    ?> 

    //define rows of data 
    //this is the part of the code returning the error 
    <?php echo "dataTable.addRow(['$students[\"firstname\"]',$students[\"total\"]])"; } ?> 

    //instantiate our chart object 
    var chart = new google.visualization.ColumnChart (document.getElementById('chart')); 

    //define options for visualization 
    var options = {width: 400, height: 240, is3D: true, title: 'Student Performance Summary'}; 

    //draw our chart 
    chart.draw(dataTable, options); 

} 

Leider habe ich nicht in der Lage gewesen, eine Frage ähnlich wie diese zu finden. Wie kann ich effektiv Variablen verwenden, um die Datenzeile ohne Fehler zu definieren?

Kommentare und Korrekturen sind willkommen und würden sehr geschätzt werden, da ich mich darauf freue, mehr davon zu erfahren.

Antwort

1

denke, es auf die Escape-Zeichen Bombardierung

so etwas wie dies versuchen stattdessen ...

<?php echo "dataTable.addRow(['".$students['firstname']."',".$students['total']."]);"; } ?> 

sicher sein, die ; für die JavaScript-Anweisung

+0

Arbeitete perfekt, dank umfassen! – Mena