Search code examples
phpsql-servergoogle-visualization

Google chart from SQL Server database using PHP


Can anybody tell me what am I doing wrong here?

connecting to database

$sql = "SELECT name , pname FROM [org]";    

$stmt = sqlsrv_query( $conn , $sql  );    

if ( $stmt )    
{    

}     
else     
{    
 echo "Error in statement execution.\n";    
 die( print_r( sqlsrv_errors(), true));    
 }       
?>    

Trying the sample code from google charts

<html>
 <head>
<script type="text/javascript"
 src="https://www.gstatic.com/charts/loader.js"></script>
  <script type="text/javascript">
  google.charts.load('current', {packages:["orgchart"]});
  google.charts.setOnLoadCallback(drawChart);

   function drawChart() {
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Name');
    data.addColumn('string', 'Manager');
    data.addColumn('string', 'ToolTip');

    data.addRows([

         <?php
               while( $row = sqlsrv_fetch_array( $stmt))    
     {  
                         echo "['".$row[0]."', '".$row[1]."' ,''],";
                     }

             ?>
            ]);

Nothing appears on the page when I run it.


Solution

  • Try to make your code like this.

    <?php
    $array = array();
    while( $row = sqlsrv_fetch_array( $stmt))    
    {  
        $array[] = array($row[0],$row[1]);
    }
    $addrows = json_encode($array);
    
    ?>
    
    <script type="text/javascript">
        google.charts.load('current', {packages:["orgchart"]});
        google.charts.setOnLoadCallback(drawChart);
    
    function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Name');
        data.addColumn('string', 'Manager');
        data.addColumn('string', 'ToolTip');
    
        data.addRows(<?php echo $addrows; ?>);