php - SQL 查询创建按钮,可以单击这些按钮以 'hopefully' 更改 DIV

标签 php jquery html mysql

我在描述这个问题时遇到了困难,但在这里..

我有 home.php,几乎只是:

<body>
<div id='leftColumn'>
  <?php include ('includes/roomQuery.php') 
</div>                                        
</body>

现在, roomQuery.php 从表“rooms”中回显我的 sql 列“room_name”,如下所示:

echo "<td><a href=\"room.php?room=$roomName\">$roomName</a></td>";

任何房间链接都会将我带到 room.php 并通过 $_GET 向页面填充更多与 $roomName 相关的查询。

room.php 基本上是:

$get = $_GET['room'];
$query
    while($row = $result->fetch_assoc()){
        echo $query

这完全符合实际情况。

====================================

但是,我正在努力使我的站点流量更好,并且一直在试用 jQuery .load 函数。到目前为止,我已将 roomQuery.php 更改为:

echo "<td><button>$roomName</button></td>";

这是我用 room.php #page 替换 home.php #page 的 jQuery:

    $(document).ready(function(){
        $("button").click(function(){
            $("#page").load("room.php #page",function(responseTxt,statusTxt,xhr){
                if(statusTxt=="success")
                    alert("Success");
                if(statusTxt=="error")
                    alert("Error: "+xhr.status+": "+xhr.statusText);
            });
        });
    });

当我单击 roomQuery.php 吐出的任何按钮时,它会完美地替换 #page 但我无法理解如何/是否可以将 $_GET['room'] 发送到 room.php 以便在加载#page 时,信息仍然与我点击的房间有关。如果我将 jQuery 更改为

$("#page").load("room.php?room=CL%20124 #page"

然后 #page 将填充专门针对房间 CL 124 的数据。是否可以在单击按钮时将从 roomsQuery.php 输出的按钮文本发布到 room.php #page?

最佳答案

是的,你可以pass data进入.load()作为第二个参数调用。

首先,您需要弄清楚如何从 DOM 获取房间 ID 到您的 jQuery 调用中,也许您可​​以像这样在按钮元素上使用数据属性:

<button data-room-id="123">Click me</button>

然后像这样使用 jQuery:

$("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();

如果您希望此值中包含空格或非字母数字字符,您可能需要考虑 URL encoding在你发送它之前。

关于php - SQL 查询创建按钮,可以单击这些按钮以 'hopefully' 更改 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25194712/

相关文章:

html - C:HTTP 网络服务器 - 图像“http://localhost...无法显示,因为它包含错误”

php - 使用 PHP/MySQL 运行查询,然后按另一列对结果重新排序

javascript - 使用JS或Angular Js在html中添加行后如何本地存储表格?

javascript - onFocus 不适用于 javascript 函数

javascript - Datatables - 导出字段输入内外的值和选择字段的值

jquery - 将可拖动元素动画到底部

php - Prestashop 类别-产品关联表是否允许重复?

php - Javascript、AJAX 和 PHP 帮助

php - MySQL Count 函数 - WHERE 函数响应错误

javascript - 如何使用 jQuery 创建一个带有函数的按钮,然后提交它?