我正在通过mysql表循环并为每行打印HTML "Play"链接。
我试图避免在每次点击"播放"链接时刷新页面,所以我将javascript放在链接的"href":
<a href='javascript:void(0)' onclick='playMV('"".$rows["v_type"]."'",'"".$rows["v_id"]."'");'>Play</a>
playMV()函数将通过jquery ajax post向服务器发送必要的信息,以获得所需的值。服务器上的php脚本将使用mysql查询中的值。
// javascript:
<script type="text/javascript">
function playMV(p1, p2) {
$.post("?opt=music", {
var1: p1,
var2: p2
}, function (data) {
//$('#result').html(p2);
});
}
</script>
// PHP:
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];
$q = mysql_query("SELECT * FROM table WHERE v_lang='".$var1."' AND v_id='".$var2."'");
我的问题是:我不知道如何调用'p1'和'p2'值并分配给php变量。注释行$('#result').html(p2)
仅输出id='result'的div块中的值,但实际上不能将其传递给php。我已经阅读了一些关于json的东西的答案,但最终甚至不能得到我想要的。
请帮助我,因为我已经在这部分卡住了很长时间。
非常感谢!
// whole code
<script type="text/javascript">
function playMV(p1, p2) {
$.post("<?php echo curPageURL() ?>", {
var1: p1,
var2: p2
}, function (data) {
//$('#result').html(p2);
//$('#result').html(data);
});
}
</script>
<?php
mysql_set_charset("utf8");
$var1 = $_POST['var1'];
$mvid = $_POST['var2'];
echo $var1.$var2;
//echo var_dump($_POST);
$count = 1;
if((strpos(curPageURL(),'mv')==false) || (strpos(curPageURL(),'type')==false)){
$type = ucwords("C");
$mvid = 1;
}
$mtv_data = array();
$mtvlist = mysql_query("SELECT * FROM ".$tb01." WHERE mtv_type='".$type."' ORDER BY mtv_order ASC LIMIT 0, 10") or die(mysql_error());
while($rows = mysql_fetch_array($mtvlist)){
$mtv_data[] = $rows;
}
$q = mysql_query("SELECT * FROM ".$tb01." WHERE mtv_id='".$mvid."'") or die(mysql_error());
$r = mysql_fetch_array($q);
?>
<span id="result"></span>
<div align="center" class="content-layer1" style="height:600px;padding-bottom:20px;">
<div class="content-layer2">
<div style="width:900px;text-align:left;padding:18px 18px 8px 18px;">
<h1>MUSIC ZONE</h1>
</div>
<div style="width:900px;text-align:left;padding:10px;">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="55%">
<div id='mediaspace' align='center'>
<img src="images/ajax-loader.gif">
</div>
<div><?php echo $r["mtv_title"] ?><br /><?php echo $r["mtv_artist"] ?> </div>
</td>
<td width="45%" valign="top">
<div style="border:0px #000 solid;">
<table width='100%' border='1' cellspacing='2' cellpadding='2'>
<?php
foreach($mtv_data as $rows){
echo "<tr>
<td>".$count."</td>
<td><div>".$rows["mtv_title"]."</div><div>".$rows["mtv_artist"]."</div></td>
<td><a href='javascript:void(0)' onclick='playMV('"".$rows["mtv_type"]."'",'"".$rows["mtv_id"]."'");' id='playmv'>Play</a>
</td>
</tr>";
$count += 1;
}
?>
</table>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
use json_decode()
$object = json_decode(json_string)