2016-09-19 22 views
-1

これは私がやったことです。私はMVC codeigniterを使用しています。ajaxを使用してデータベースからデータを取得するにはどうすればよいですか?

$(document).ready(function(){ 
    $.ajax({ 
     type: 'post', 
     data: $("#attendance-pick").serialize(), 
     url: 'manageLogbook_controller/date_checker/'+ <?php echo $userid; ?>, 
     dataType: "json", 
     success: function(result) { 
      debugger; 
      $("#your_attendance").html(result); 
     } 
    }); 
}); 

となります。

CONTROLLER

function date_checker($userid){ 
    How can i pass the result to success: function(result) on my View---> 
    $result['my_attendance'] = $this->ManageLogbook_model->retrieve_attendance($result); 
} 

MODEL

function retrieve_attendance($userid){ 
    return $this->db->where('userid', $userid) 
    ->get('attendance') 
    ->result(); 
} 

答えて

1

これを試してみてください:

コントローラ機能を:

$result['my_attendance'] = $this->ManageLogbook_model->retrieve_attendance($result); 

echo json_encode($result); 

Ajaxの機能を:

success: function(response) 
{ 
    var data = JSON.parse(response); 
} 

とAjaxのURLパラメータを変更することを忘れないでください:

url: <?php echo base_url().'manageLogbook_controller/date_checker/'.$userid ?>, 
+0

私はこれらの卿をする必要がありますか? $( "#your_attendance")。html(レスポンス); –

+0

はい、いいえ、私はありません:P –

+0

、 成功:関数(結果){ var data = JSON.parse(result); $( "#your_attendance")。html(データ); } 私はCONTROLLER $ result ['my_attendance'] = $ this-> ManageLogbook_model-> retrieve_attendance($ result)の(my_attendance)からそれぞれ のPHPについて考えていました。 –

1

あなたのAJAX

$(document).ready(function(){ 
    $.ajax({ 
     type: 'post', 
     data: $("#attendance-pick").serialize(), 
     url: "<?php echo base_url('manageLogbook_controller/date_checker/'.$userid); ?>", 
     dataType: "json", 
     success: function(result) { 
      $("#your_attendance").html(result.my_attendance); 
     } 
    }); 
}); 

あなたのコントローラ

function date_checker($userid){ 
    $my_attendance = $this->ManageLogbook_model->retrieve_attendance($userid); 
    $this->output->set_content_type('application/json')->set_output(json_encode(array('my_attendance' => $my_attendance)); 
} 
1

は、なぜあなたは、以下のいずれかを試してくださいいけません

我々は、必要に応じてそれを使用することができますように取得されたデータを知っているように、私は成功の一部ではconsole.logを使用していた
$(document).ready(function(){ 
     $.ajax({ 
      type: 'post', 
      data: $("#attendance-pick").serialize(), 
      url: 'manageLogbook_controller/date_checker/'+ <?php echo $userid; ?>, 
      dataType: "json", 
      success: function(result) { 
      console.log(result) 
      //$("#your_attendance").html(result); 
      } 
     }); 
    }); 

コントローラ

function date_checker($userid){ 
$id = $this->uri->segment(3); 

$value = $this->ManageLogbook_model->retrieve_attendance($id); 

echo json_encode($value); 

モデル

return $this->db->where('userid', $userid) 
    ->get('attendance') 
    ->result(); 

。エラーがある場合はお知らせください。だから私は自分の答えを改善することができます。

+1

なぜ '$ this-> uri-> segment(3)'を使っていますか? 'date_checker($ userid)' ciがあなたのためにやっているように。 – parth

0

これを試してみてください。..

あなたのビューで

のAjax機能:

$(document).ready(function(){ 
$.ajax({ 
    type: 'POST', 
    data: {'user_id':$("#attendance-pick").val()}, 
    url: '<?php echo site_url("manageLogbook_controller/date_checker"); ?>', 
    success: function(result) { 
     $("#your_attendance").html(result); 
    } 
}); 

コントローラー:

function date_checker(){ 
    $user_id = $_POST['user_id']; 
    $attendance = ''; 
    $res = $this->ManageLogbook_model->retrieve_attendance($user_id); 
    foreach($res as $r){ 
     $attendance = $r->attendance; 
    } 
    echo $attendance; 
} 

モデル:これは助け

function retrieve_attendance($userid){ 
    $this->db->select('attendance'); 
    $this->db->from('your_table_name'); 
    $this->db->where('user_id',$userid); 
    $res = $this->db->get(); 
    return $res->result(); 
} 

・ホープ.. Chのeers ..

0
$(document).ready(function(){ 
    $.ajax({ 
     type: 'post', 
     data: $("#attendance-pick").serialize(), 
     url: 'manageLogbook_controller/date_checker/ ?>, 
     dataType: "json", 
     success: function(result) { 
      $("#your_attendance").html(result); 
     } 
    }); 
}); 

//Controller 


function date_checker($userid){ 
    $user_id = $_POST['user_id']; 
    $value = $this->ManageLogbook_model->retrieve_attendance($user_id); 
    echo json_encode($value); 
} 

After this you can parse the json in the success of ajax and display it in the view 
関連する問題