код воспламенитель php и jquery - как получить данные из нескольких таблиц и вернуть их через ajax - PullRequest
5 голосов
/ 03 июня 2011

В настоящее время я использую jquery для получения данных JSON через ajax из базы данных codeigniter backend / mySQL, которая работает нормально. У меня проблема в том, что наряду с данными, возвращаемыми в функцию jquery, мне также нужно запустить цикл PHP для некоторых данных в другой таблице. В настоящее время я ожидаю успешного выполнения ajax из первой функции, а затем снова вызываю ajax во вторую функцию - но я знаю, что есть способ сделать это с помощью только одной функции, я просто не уверен, как это сделать. Вот два запроса к базе данных:

function get_selected_member($member = null){
        if($member != NULL){
            $this->db->where('id', $member); //conditions
        }
        $query = $this->db->get('members'); //db name

        if($query->result()){
            $member_result = $query->row();
            return $member_result;
        }
    }

И

function get_all_groups(){
        $query = $this->db->get('groups');
        $result = $query->result();
        return $result;
    }

и затем в функции javascript я говорю:

var post_url = "/index.php/control_form/get_selected_member/" + selected_member_id;
$('#chosen_member').empty();
$.ajax({
    type: "POST",
    url: post_url,
    success: function(member)
    {
        //Add all the member data and...

        var post_url2 = "/index.php/control_form/get_all_groups/";
        $.ajax({
            type: "POST",
            url: post_url2,
            success: function(group)
            {
        //Create a dropdown of all the groups
            }
        });
    }
});

1 Ответ

7 голосов
/ 04 июня 2011

В PHP вы можете объединить оба в одном, а затем передать его в ajax как переменную json.Так что в php вам понадобится изменить что-то вроде следующего:

function get_member_with_group($member = null){
    $data['member'] = $this->get_selected_member($member);
    $data['group'] =  $this->get_all_groups();
    echo json_encode($data);
}

Затем в javascript вы увидите что-то вроде ниже.

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