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
?还有其他方法或可以改进吗?
答案 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}'";