Php SQL查询创建可以单击的按钮';希望是';兑换部
我在描述这件事时表现得很糟糕,但事情是这样的 我有home.php,基本上只是:Php SQL查询创建可以单击的按钮';希望是';兑换部,php,jquery,html,mysql,Php,Jquery,Html,Mysql,我在描述这件事时表现得很糟糕,但事情是这样的 我有home.php,基本上只是: <body> <div id='leftColumn'> <?php include ('includes/roomQuery.php') </div> </body> 这是完美的工作,它是什么 ==================================== 然而,
<body>
<div id='leftColumn'>
<?php include ('includes/roomQuery.php')
</div>
</body>
这是完美的工作,它是什么
====================================
然而,我正在努力使我的网站流量更好,并且一直在尝试jQuery.load函数。到目前为止,我已将roomQuery.php更改为:
echo "<td><button>$roomName</button></td>";
当我单击roomQuery.php弹出的任何按钮时,它会完美地替换#页面,但我无法理解如何/是否可以将$#u GET['room']发送到room.php,以便在加载#页面时,信息仍然与我单击的房间相对应。如果我将jQuery更改为
$("#page").load("room.php?room=CL%20124 #page"
然后#页面填充了专门针对CL 124房间的数据。单击按钮时,是否可以将从roomsqury.php输出的按钮文本发布到room.php页面?是的,可以将其作为第二个参数输入调用中
首先,您需要了解如何将DOM中的房间ID输入到jQuery调用中,也许您可以在button元素上使用如下数据属性:
<button data-room-id="123">Click me</button>
$("button").click(function(){
// define your room ID here, however you do it
var your_room = $(this).data('room-id');
$("#page").load(
"room.php #page",
{
room: your_room
},
function(responseTxt,statusTxt,xhr){
if(statusTxt=="success")
alert("Success");
if(statusTxt=="error")
alert("Error: "+xhr.status+": "+xhr.statusText);
}
);
});
编辑:刚刚注意到您可能实际使用按钮的值作为房间ID,如果是,请使用以下定义:
var your_room = $(this).val();
如果你期望这个值中有空格或非字母数字字符,你可能要在发送之前考虑它。我现在正在插入这个,看看我能做些什么。所以我已经验证了将按钮更改为包含数据室id是否有效。按钮将数据集填充为各自的$roomName。但是,当我点击按钮时,它仍然会在页面中填充来自所有房间的查询。它没有将?room=$roomName添加到room.php。我需要修改jQuery解释数据的方式吗?当您将数据作为对象提供给
.load()
时(我在上面已经做过),HTTP方法将更改为POST而不是GET。您需要传递一个字符串,如data:“room=“+your_room
,或者使用var roomName=$(this).val()将PHP superglobal从$\u GET
更改为$\u POST
;工作得很好。非常感谢
<button data-room-id="123">Click me</button>
$("button").click(function(){
// define your room ID here, however you do it
var your_room = $(this).data('room-id');
$("#page").load(
"room.php #page",
{
room: your_room
},
function(responseTxt,statusTxt,xhr){
if(statusTxt=="success")
alert("Success");
if(statusTxt=="error")
alert("Error: "+xhr.status+": "+xhr.statusText);
}
);
});
var your_room = $(this).val();