我有一个记录列表,从mysql表中循环,对于每条记录,我都分配了一个onclick函数,以便传递mysql查询使用的数据,以避免页面刷新,
<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>
问题来了,"$('#result').html(data);"总是在源代码中返回给我一整页,而不是只保留值,我想要的只是能够发布'data1'和'data2'并分配给php变量和mysql查询,如下所示:
$var1 = data1;
$var2 = data2;
$q = mysql_query("SELECT * FROM table WHERE mvtype='".$var1."' AND mvid='".$var2."'");
如何使用JSON将这些数据传递到mysql查询中以检索最终结果,有人可以帮助吗?
您的脚本mtv.php将在$_POST全局变量中接收它们。
你应该能够得到$_POST['var1'], $_POST['var2']参数
脚本应为:
<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,只需alert(data)看看刚才返回的是什么
在mtv.php中,使用json_encode()并回显它,这将作为'data'返回,然后你可以这样做:
示例返回JSON: {'thing': 1234}
var myObject = $.parseJSON(data);
alert(myObject.thing);
警告将显示1234
如何在php中检索数据?你应该能够像这样获取它:
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];