2015-10-17 84 views
0

我知道,我知道,一個是客戶端,一個是服務器端。我不得不使用PHP來獲取一些數據數組,並將這些數據傳遞給Google Charts geomaps。例如:將一個javascript變量傳遞給PHP以與谷歌圖表一起使用

echo 'var data = google.visualization.arrayToDataTable([ 
       ["Country", "Popularity"], 
     '; 
     foreach($countries as $key=>$val){ 
      echo '["'.$key.'",'.$val.'],'; 
     } 
echo ']); 

當用戶點擊地圖上它把這個值放入一個變量的國家(使用事件偵聽器)之一:

var country = data.getValue(selectedItem.row, 0); 

現在我需要這個傳遞給PHP數組,因此我可以這樣做:

if($country == country){ 
//do whatever 
} 
+0

你需要有''使用JavaScript時的標籤,但我懷疑這會解決它。 – Script47

+3

使用ajax調用來發送數據到php文件,如果你想要,你也可以返回一些數據 – WisdmLabs

+1

首先:你需要學習區分運行在瀏覽器中的JS和運行在你的web服務器上的PHP。然後你會看到,在「$ country == country」這樣的源代碼中,沒有辦法「將一個變量從JS傳遞給PHP」。相反,讓自己熟悉AJAX和JSON。谷歌這些條款,並找到適合你的介紹。 –

回答

1

要發送Javascript值到PHP,您需要使用AJAX。使用jQuery,它會是這個樣子(最基本的例子可能):

var country = data.getValue(selectedItem.row, 0); 
$.post('file.php', {country: country}); 
+0

這似乎是一個好主意,但我無法完成它的工作。當我將國家/地區發送並保存到$ _SESSION時,只能在刷新頁面時回收。我無法真正使用函數(數據),因爲它是一個JS變量...... – Hook

相關問題