使用ajax和codeigniter.i添加了一条新记录,希望在添加记录后重定向到视图页面。所以我想得到最后一个插入ID

时间:2015-12-09 05:11:39

标签: ajax codeigniter codeigniter-2 codeigniter-3

下面给出了Ajax函数和控制器操作。任何人都可以帮助获取最后一个insertid重定向。重定向是在ajax success函数中完成的。它可以在控制器action.its得到

Ajax功能

<script type="text/javascript">

    $('#rfqsubmit').click(function () {

        //var title = $('#title').val();

        var form_data = {
            title: $('#txtname').val(),
            merid: $('#mermerchant').val(),
            userid: $('#customer').val(),
            description: $('#txtrequirement').val(),
            reqid: $('#requirementid').val(),
            shipmethod: $('#shipmethod').val(),
            shiplocation: $('#shiplocation').val(),
            attachment: $('#txtattachments').val(),
            bidclose: $('#txtbidclose').val(),
            ajax: '1'
        };

        $.ajax({
            url: "<?php echo base_url() ?>moderator/RFQ/addoffline",
            type: 'POST',
            data: form_data,
            success: function () {

                 window.location.href ="<?php  echo base_url() ?>moderator/Employee/manageemployee/";
                // window.location.href ="<?php //echo base_url()             ?>moderator/RFQ/viewrfq/"+  form_data.reqid;
//      alert('added Successfully');
            }
        });

        return false;
    });

</script>

控制器操作

     $this->load->helper(array('form', 'url'));
           $this->load->helper('file');
        $data7 = array(
            'rfq_title' => $this->input->post('title'),
            'rfq_detail' => $this->input->post('description'),
            'rfq_merchantid' => $this->input->post('merid'),
            'rfq_userid' => $this->input->post('userid'),

        );
       $add= $this->requirement_model->forminsert($data7);
}

1 个答案:

答案 0 :(得分:1)

如果我得到你需要的东西,你的问题无论如何都不清楚。

  

在你的控制器动作中返回json响应:

   $this->load->helper(array('form', 'url'));
             $this->load->helper('file');
             $data7 = array(
                'rfq_title' => $this->input->post('title'),
                'rfq_detail' => $this->input->post('description'),
                'rfq_merchantid' => $this->input->post('merid'),
                'rfq_userid' => $this->input->post('userid'),

            );
           $inserted_id= $this->requirement_model->forminsert($data7);
           //your forminsert method in model should return 
           //$this->db->insert_id();
           $response=array('id'=>$inserted_id,'message'=>"inserted successfully"); 
           echo json_encode($response); 
           die();
    }
  

你的模型函数返回last_inserted_id:

public function forminsert($data7) 
{ 
$this->db->insert('jil_mrorfq',$data7); 
//it will return last id
return $this->db->insert_id();
} 
  

现在在ajax成功:

   $.ajax({
         url: "<?php echo base_url() ?>moderator/RFQ/addoffline",
         type: 'POST',
         data: form_data,
         dataType:"Json",
         success: function (data) {
         //to access that id
         var last_inserted_id = data.id;
         window.location.href ="<?php  echo base_url() ?>moderator/Employee/manageemployee/"+last_inserted_id;

         }
        });