2011-07-18 56 views
1

我有一個從mysql表中循環的記錄列表,對於每個記錄我已經分配了一個onclick函數以便傳遞數據以供mysql查詢使用,以避免頁面刷新時調用,PHP的JQuery ajax後問題

<a href='javascript:void(0)' onclick='PlayMV(\"".$rows["v_type"]."\",\"".$rows["v_id"]."\");'>Play</a> 
下面

是將值傳遞給jQuery函數:

<script type="text/javascript"> 
function PlayMV(data1, data2){ 
$.post("mtv.php", { var1: "data1", var2: "data2" }, 
    function(data){ 
    $('#result').html(data); 
}); 
} 
</script> 

這裏來的問題, 「$( '#結果')HTML(數據)。」總是回到我在源代碼中的整個頁面,而不是隻舉行的價值觀,我要的是唯一能夠發佈「數據1」和「數據2」,並分配到一個PHP變量和MySQL查詢象下面這樣:

$var1 = data1; 
$var2 = data2; 
$q = mysql_query("SELECT * FROM table WHERE mvtype='".$var1."' AND mvid='".$var2."'"); 

如何使用JSON將這些數據傳入mysql查詢來檢索最終結果,任何人都可以幫忙嗎?

非常感謝。

回答

2

你的腳本mtv.php將在$ _POST全局中接收它們。

,你應該能夠用$ _POST [ 'VAR1'],$ _ POST [ 'VAR2']

腳本應該得到PARAMS:

<script type="text/javascript"> 
    function PlayMV(data1, data2){ 
     $.post("mtv.php", { var1: data1, var2: data2 }, 
      function(data){ 
       alert("Data Loaded: " + data); 
     }); 
    } 
</script> 

你有報價一輪值。

編輯

哦,如果你想要回數據從PHP,你可以返回XML或JSON,只需警報(數據),以便查看正在返回什麼剛纔。

在mtv.php,使用json_encode()和回聲它,這將得到返回的 '數據' 然後你就可以做一些事情liek此:

示例返回JSON:{ '東西':1234}

var myObject = $.parseJSON(data);  

alert(myObject.thing); 

警報將顯示1234

+1

我認爲他實際上只是爲了示例/測試而將變量設置爲那些字符串。 –

+0

不...他們是函數的參數,檢查他的Q你會看到他們被引用...而他的調用是通過替代數據$ rows [「v_type」]和$ rows [「v_id」]。 – Brian

+0

啊,我的不好。抱歉。 –

1

你如何獲取在PHP中的數據?你應該能夠像這樣獲取它:

$var1 = $_POST['var1']; 
$var2 = $_POST['var2']; 
+0

嗨,我可以檢索數據正確分配在PHP變量, 這是我解析到mysql查詢, 功能(數據){('#結果')。html(數據)最難的部分; } 請告訴我更多的JSON示例如何使用它。 –

+0

啊,你的問題並沒有明確說明這是問題:)只要將你的結果放入一個php數組中,然後在該數組上做一個json_encode並回顯結果。然後,您可以使用JavaScript的結果。 –