I am currently using jquery to get JSON data via ajax from a codeigniter backend / mySQL database, which works fine. The problem I’m having is that, along with the data that gets returned to the jquery function, I also need to run a PHP loop for some data in another table. Currently what I’m doing is waiting for an ajax success from the first function, then making another ajax call to the second function – but I know there is a way to do it with just one function, I’m just not sure how. Here are the two database queries:
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;
}
}
AND
function get_all_groups(){
$query = $this->db->get('groups');
$result = $query->result();
return $result;
}
and then in the javascript function, what I’m doing is saying:
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
}
});
}
});
In PHP you can combine both in one then echo it to ajax as
jsonvariable. So in php you will need a change like followingThen in javascript something like below..
Hope this will help you 🙂