如何将javascript返回的php变量值传递给php变量?

时间:2015-06-10 06:14:52

标签: javascript php

HTML(单击此DIV时,会调用searchfunction并传递其ID)

<div class="me" id="<?php echo $row['main_cat_id'];?>" onClick="searchfunction('<?php echo $row['main_cat_id'];?>');">
    <?php echo $row[ 'main_cat_name'];?>
</div>

以下是搜索功能;它将点击的DIV的ID值传递给页面getparam.php

 function searchfunction(param) {
    //alert(param);
    var xmlhttp = getXmlHttp();
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            if (this.responseText !== null) {
                var ajaxElm = document.getElementById('getparam');
                ajaxElm.innerHTML = this.responseText; // append in front
                //jQuery(ajaxElm).append(this.responseText);
            }
        }
    }
    xmlhttp.open("GET", "getparam.php?param=" + param, true);
    xmlhttp.send();
}

并且getparam.php仅将ID传回到从中获取的同一页面。我已经使用了这种方法,因为我相信没有办法直接传递被JavaScript捕获的被点击的div的id并将其分配给php变量。

<?php
$param=$_GET['param'];
echo $param;
?>

现在,我需要clicked div id的值来运行以下查询:

echo $param='<span id="getparam"></span>'; //它确实以数字形式回显id,如1或2。但是它无助于执行查询。

 $sql= "SELECT * FROM categories,main_category WHERE categories.main_cat_id=main_category.main_cat_id AND categories.main_cat_id='$param'";

如何将点击的DIV ID传递给php变量$param?还有其他方法或可以改进吗?

2 个答案:

答案 0 :(得分:2)

Javascript是客户端,PHP是服务器端。您可以将php变量的值存储到变量JAVASCRIPT,但不能反过来。

为了保存javascript的值,您需要对服务器端进行ajax调用,以将值存储在php中。

答案 1 :(得分:0)

我无法理解你。您准备在PHP代码中将js函数searchfunction(param)放入SQL语句中吗? 如果是这样,您可以尝试$sql= "SELECT * FROM categories,main_category WHERE categories.main_cat_id=main_category.main_cat_id AND categories.main_cat_id='{$param}'";