2015-03-02 30 views
0

我想從我的MySQL服務器中用php代碼加載數據,然後用它來繪製Google圖表的圖表。問題是我不能在java-script代碼中使用從mysql中刪除的數據。無法將變量從PHP傳遞給JS

PHP代碼

$connection = mysql_connect('127.0.0.1','root','123456'); 
    mysql_select_db('db_statmarket',$connection); 
    $result2 = mysql_query('select sum(`How much read from customer`) as Leads, Date from monitor group by Date;',$connection) or die('cannot show tables'); 

在這裏的JavaScript代碼,我們可以看到var data = ...我想他會是我從我的數據庫quered表。

HTML & JS代碼

<script type="text/javascript"> 
    google.setOnLoadCallback(drawChart); 

    function drawChart() { 
    var data = google.visualization.arrayToDataTable([ 
     ['Year', 'Sales', 'Expenses'], 
     ['2004', 1000,  400], 
     ['2005', 1170,  460], 
     ['2006', 660,  1120], 
     ['2007', 1030,  540] 
    ]); 

    var options = { 
     title: 'Company Performance', 
     curveType: 'function', 
     legend: { position: 'bottom' } 
    }; 

    var chart = new google.visualization.LineChart(document.getElementById('curve_chart')); 

    chart.draw(data, options); 
    } 
</script> 

的輸出需要讓別人看到這樣的: enter image description here

+0

無論是通過在頁面或使用AJAX腳本變量。不難做網絡搜索使用任何方法 – charlietfl 2015-03-02 13:23:09

+0

@charlietfl嘿查理,我如何通過$ result2作爲變量? – 2015-03-02 13:24:52

+0

$ result2無法在javascript中使用。這是原始的SQL結果,你必須把它們放在一個使用mysql_fetch_assoc()的數組中(看我的回答) – 2015-03-02 14:08:49

回答

3

類似的東西:

<?php 
    $connection = mysql_connect('127.0.0.1','root','123456'); 
    mysql_select_db('db_statmarket',$connection); 
    $result2 = mysql_query('select sum(`How much read from customer`) as Leads, Date from monitor group by Date;',$connection) or die('cannot show tables'); 

    $json = array(); 
    while($row = mysql_fetch_assoc($result2)) { 
     $json[] = $row; 
    } 
?> 
<script type="text/javascript"> 
    var data = <?php echo json_encode($json); ?>; 
    // chart code here 
</script> 

如果你的JavaScript是在.js文件中,您可以:

  1. 讓您數據變量「全球」(雖然這將是更好地包裝在一個全局對象,以不污染全局命名空間)
  2. 使用Ajax(在這種情況下,PHP代碼是相同的,但在一個單獨的文件中只返回JSON數據)
+0

謝謝,但這段代碼不起作用。它不符合用HTML代碼編寫的'var data'格式表。 – 2015-03-02 13:49:45

+0

你必須適應你的需求。我不能在不知道更多的情況下爲您提供完整的複製/粘貼代碼(並且我實際上並不認爲這會對您有所幫助)。只需檢查「數據」的值,並修改您的SQL請求或JavaScript以適應您的需求(我看到的第一個問題,您選擇2列,但希望輸出3列)。您還必須手動向「數據」添加第一個條目(['Year','Sales','Expenses'))。如果您需要更多幫助,請隨時通知我。 – 2015-03-02 14:07:33