SQL Query创建可以单击以“有希望”更改DIV的按钮

时间:2014-08-08 01:18:57

标签: php jquery html mysql

我在描述这个问题时失败了,但在这里它会......

我有home.php,非常只是:

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

现在, roomQuery.php回应我的sql专栏&#39; room_name&#39;从桌子&#39;房间&#39;如下:

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>";

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

替换home.php #page
    $(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 [&#39; room&#39;]发送到room.php以便加载#page时,信息仍然与我点击的房间相对应。如果我将jQuery更改为

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

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

1 个答案:

答案 0 :(得分:0)

是的,您可以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