php - jQuery/php/mysql - 如何在不重新加载页面的情况下操作 mysqli_query?

标签 php javascript jquery mysql

我有一个表,其中包含通过 PHP 从 MySQL 数据库读取的数据。第一列包含所有项目名称。现在,单击表格第一列中的 td 元素将链接到一个页面,其中包含有关 td 中包含的项目的更多详细信息。

现在我想到了以下想法:

$(document).ready(function() {
    $('#table td:first-child').click(function() {
        $('div.main').animate({
            height: "50px"
        }, 600);
        setTimeout(function() {
            $('div.data').fadeIn(1000);
        }, 600);
    });
});

div.main 是包含表格的 div 容器。我现在想做的是向上滑动该容器并淡化一个新的 div-容器,就在它的正下方,新容器包含()一个包含动态查询的 PHP 页面(伪代码,无字符串转义,简化版):

SELECT detail FROM items WHERE items.name = $_GET['name'];

我想不通的是,我是否以及如何告诉 PHP 文件,它包含在正在淡出的 div 容器中,它必须从数据库中获取项目名称的详细信息。

现在我可以通过 JavaScript/jQuery 读取项目名称,但我想不出一种无需重新加载页面即可将该值传递给 PHP 文件的方法。

欢迎提出任何想法或建议!

最佳答案

我想你要找的是 asynchronous JavaScript and XML (AJAX) .这听起来很吓人,但幸运的是 jQuery 使它变得非常简单。

您可以调用$.ajax()直接,但在大多数情况下,您可以使用其中一种便利包装器。在这种情况下,我认为 $.load()将满足您的需求。

那么,假设您的 PHP 文件名为 detail_ajax.php,它返回您希望放入 div 中的 HTML(类为 data)。那么您所要做的就是:

$('div.data').load( '/detail_ajax.php', function(data){
    $(this).html(data);
});

如果你想传递数据到detail_ajax.php,你可以这样传递:

$('div.data').load( '/detail_ajax.php', { 'someField' : 'someValue' },
    function(data) {
        $(this).html(data);
    }
});

detail_ajax.php 中,如果您检查 $_POST['someField'],您将看到传入的值。

关于php - jQuery/php/mysql - 如何在不重新加载页面的情况下操作 mysqli_query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17849917/

相关文章:

php - 如何在 jQuery 的同一窗口中加载 PHP 页面

PHP - 如何在没有任何数组编号和箭头的情况下将数组写入文件?

php - $_POST 和 $_SESSION 哪个更安全?

javascript - 使用 Grunt 将所有文件复制到 LAN 上的另一台电脑

javascript - 如何在addEventListener跨浏览器中使用e.path?

php 从本地主机发送邮件

javascript - AngularJS 多个动态指令绑定(bind)

jquery - 当滚动到达 anchor 时使用 JQuery 更改 CSS 元素

javascript - 如何将 TinyMCE javascript 初始化设置移动到单独的文件?

javascript - vue.js 中设备离线时 Axios 不会失败