получить результаты из MySQL, используя jquery / php / ajax - PullRequest
0 голосов
/ 14 января 2010

Я использую codeigniter для этого проекта. У меня есть форма поиска и результаты поиска формы.

Теперь, когда я нажимаю кнопку поиска в форме поиска, меня перенаправляют на результат формы поиска, и я получаю результаты.

Можно ли создать div или таблицу в форме поиска, которая сначала будет скрыта, а затем вызовет процедуру поиска и какие результаты она возвращает, чтобы вернуть их на страницу без перезагрузки?

Используете jquery / ajax / php? Спасибо

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Я предполагаю, что ваше представление результатов поиска содержит только блок HTML для результатов поиска (например, TABLE или что-то подобное, а не полную страницу HTML с BODY)? Если нет, обновите представление, чтобы оно содержало код результатов. Затем вы можете просто использовать $. Post метод , чтобы отправить форму, получить представление и затем внедрить ее в 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» на идентификатор, который вы задали в теге формы, и измените «resultsDiv» на идентификатор пустого DIV, в который хотите добавить результаты.

Что нужно сделать, так это связать эту функцию с вызовом при отправке формы (нажатием клавиши ввода или нажатием кнопки отправки). Он будет сериализовать форму (чтобы вы могли отправлять значения входов на ваш контроллер) и получить URL-адрес для отправки с помощью обычного атрибута «action», который есть в формах.

Затем он отправит форму по этому URL через сообщение, и результаты будут загружены в DIV с идентификатором resultsDiv.

0 голосов
/ 14 января 2010

Да, это на самом деле возможно.

для CodeIgniter, я бы написал функцию контроллера и просмотр того, что вы хотели бы отобразить. затем вызовите AJAX-страницу, которая будет отображаться на странице, и загрузите ее на текущую страницу.

Если вы используете jQuery, вы можете просмотреть их Различные функции AJAX , чтобы выполнить вызов ajax и получить данные

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...