使用jquery / php / ajax从mysql中检索结果

时间:2010-01-14 18:33:51

标签: php jquery mysql ajax

我正在为这个项目使用codeigniter。我有一个搜索表单和搜索表单结果。

现在当我点击搜索表单中的搜索时,我被重定向到搜索表单结果,我得到了结果。

是否可以在搜索表单中创建最初隐藏的div或表,然后调用搜索过程并返回结果以使其返回页面而不重新加载?

使用jquery / ajax / php?谢谢

2 个答案:

答案 0 :(得分:2)

我假设您的搜索结果视图只包含搜索结果的HTML块(例如TABLE或某些,而不是带有BODY的完整HTML页面)?如果不更新视图,那么它只包含结果的代码。然后您可以使用$.post method提交表单获取视图,然后将其注入DIV(或您选择的元素):

$(document).ready(function() {
    $('#myformid').submit(function() {
        var seralizedForm = $(this).serialize();
        var url = $(this).attr('action');
        $.post(url, serializedForm, function(results) {
            $('#resultsDiv').html(results);
        }, "html");
        return false;
    });
});

这应该通过最少的修改插入到您的代码中。将“myformid”更改为您在表单标记上设置的ID,并将“resultsDiv”更改为您希望结果进入的空DIV的ID。

这样做是绑定在提交表单时要调用的函数(通过按Enter或单击提交按钮)。它将序列化表单(以便您可以将输入的值发送到控制器)并获取要通过表单的正常“action”属性提交的URL。

然后它会通过帖子将表单提交到该URL,结果将被加载到ID为resultsDiv的DIV中。

答案 1 :(得分:0)

是的,实际上是可能的。

对于CodeIgniter,我会写一个控制器功能&查看您想要显示的内容。然后,对页面进行AJAX调用,这将是您想要在页面上显示的内容,并将其加载到当前页面上。

如果您使用的是jQuery,可以查看他们的Various AJAX Functions以进行ajax调用并检索数据