簡體   English   中英

Codeigniter 從兩個不同的模型中獲取數據並在一個視圖中顯示

[英]Codeigniter Getting data from two different models and show in one view

我正在工作 oa 項目,在那里我有客戶和預訂。 我可以創建新客戶,獲取他們並列出他們。 但是,在保留中,我需要能夠將來自一個模型和控制器的客戶端名稱顯示到我的實際視圖中,即保留模型和控制器上。

我正在列出客戶,並添加指向另一個頁面的鏈接,在該頁面中我會顯示客戶姓名、預訂 ID 和預訂中的所有其他信息。

我是編程新手,我真的很感激任何幫助。 提前致謝。

我的客戶控制器列出了客戶,以便我可以進行預訂。

public function listarr(){
    $nome = $this->session->userdata("nome");
    $this->load->view("template/topo");
    $this->load->library('pagination');
    $this->load->model('Clientes');
    $config = array();
    $config['base_url'] = base_url().'cliente/listarr';
    $config['total_rows'] = $this->Clientes->count_tblclientes();
    $config['per_page'] = 10;
    $config['num_links'] = 5;
    //$config['uri_segment'] = 3;

    $config['full_tag_open'] = "<ul class='pagination'>";
    $config['full_tag_close'] = "</ul>";
    $config['full_tag_open'] = "<li>";
    $config['full_tag_close'] = "</li>";
    $config['full_tag_open'] = "<li class ='disabled'><li class='active'><a href='#'>";
    $config['full_tag_close'] = "<span class='sr-only'></span></a></li>";
    $config['full_tag_open'] = "<li>";
    $config['full_tag_close'] = "</li>";
    $config['full_tag_open'] = "<li>";
    $config['full_tag_close'] = "</li>";
    $config['full_tag_open'] = "<li>";
    $config['full_tag_close'] = "</li>";
    $config['full_tag_open'] = "<li>";
    $config['full_tag_close'] = "</li>";



    $this->pagination->initialize($config);
    $page = $this->uri->segment(3);
    $data['tblclientes'] = $this->Clientes->fetch_tblclientes($config['per_page'], $page );
    $data['links'] = $this->pagination->create_links();
    $data['message'] = '';

    $this->load->view("cliente/listarr",$data, array (
        'nome' => $nome));
    $this->load->view("template/rodape");
}

我的預訂控制器,我想在其中顯示來自客戶端的名稱數據並顯示來自預訂的其他數據。

public function ficha_completa($id) {
    $this->load->view("template/topo");
    $this->load->model("Reservas", "rowDao");
     $resp = "";

    if($_POST){

    $nomecliente = $this->input->post("nomecliente");
        $datar = implode("-", array_reverse(explode("/", $this->input->post("datar"))));
        $codcliente = $this->input->post("codcliente");
        $adultos = $this->input->post("adultos");
        $precoadulto = $this->input->post("precoadulto");
        $criancas = $this->input->post("criancas");
        $precocrianca = $this->input->post("precocrianca");
        $datasinal = implode("-", array_reverse(explode("/", $this->input->post("datasinal"))));
        $valor = $this->input->post("valor");
        $obs = $this->input->post("obs");
        $data2 = implode("-", array_reverse(explode("/", $this->input->post("data2"))));
        $valor2 = $this->input->post("valor2");
        $obs2 = $this->input->post("obs2");
        $data3 = implode("-", array_reverse(explode("/", $this->input->post("data3"))));
        $valor3 = $this->input->post("valor3");
        $obs3 = $this->input->post("obs3");
        $locou = $this->input->post("locou");
        $excursao = $this->input->post("excursao");
        $referencia = $this->input->post("referencia");
        $grupo = $this->input->post("grupo");
        $obsfinal = $this->input->post("obsfinal");


        $data = array(
            'nomecliente' => $nomecliente,
            'datar' => $datar,
            'codcliente' => $codcliente,
            'adultos' => $adultos,
            'precoadulto' => $precoadulto,
            'criancas' => $criancas,
            'precocrianca' => $precocrianca,
            'datasinal' => $datasinal,
            'valor' => $valor,
            'obs' => $obs,
            'data2' => $data2,
            'valor2' => $valor2,
            'obs2' => $obs2,
            'data3' => $data3,
            'valor3' => $valor3,
            'obs3' => $obs3,
            'locou' => $locou,
    'excursao' => $excursao,
    'referencia' => $referencia,
    'grupo' => $grupo,
    'obsfinal' => $obsfinal,

        );

        $this->rowDao->atualizar($data);
        $resp = "Pessoa editada com sucesso!";
    }

    $row = $this->rowDao->buscarPorId($id);

    $this->load->view("reserva/ficha_completa", array(
        'row' => $row,
        'resp' => $resp
    ));
    $this->load->view("template/rodape");
}

我的預訂模式

 public function buscarPorId($id){
    $this->db->where("codreserva", $id);
    return $this->db->get("reservas")->first_row();
}

我的 html 查看數據將顯示的位置

                <div class="form-group">
                  <label class="control-label col-md-3 col-sm-3 col-xs-12" for="last-name">Codigo do Cliente 
                  </label>
                  <div class="col-md-6 col-sm-6 col-xs-12">
                    <input readonly="readonly" type="text" id="codcliente" name="nomecliente" value="<?php echo $row->nomecliente; ?>" class="form-control col-md-7 col-xs-12">
                  </div>
                </div>
                <div class="form-group">
                  <label class="control-label col-md-3 col-sm-3 col-xs-12" for="last-name">Codigo da Reserva 
                  </label>
                  <div class="col-md-6 col-sm-6 col-xs-12">
                    <input readonly="readonly" type="text" id="codcliente" name="codreserva" value="<?php echo $row->codreserva; ?>" class="form-control col-md-7 col-xs-12">
                  </div>
                </div>
                <div class="form-group">
                  <label class="control-label col-md-3 col-sm-3 col-xs-12" for="first-name" >Data da reserva 
                  </label>
                  <div class="col-md-6 col-sm-6 col-xs-12">
                    <input readonly="readonly" type="text" id="datar" name="datar" value="<?php echo $row->datar; ?>" class="form-control col-md-7 col-xs-12" data-inputmask="'mask': '99/99/9999'">
                  </div>
                </div>

也只是為了顯示,這是我保存客戶端數據的控制器

    public function index(){
    $this->load->view("template/topo");
    $resp = "";
    //Se os dados chegarem via POST
    if($_POST){

        $NomeCliente = $this->input->post("NomeCliente");
        $Endereco = $this->input->post("Endereco");
        $Bairro = $this->input->post("Bairro");
        $Cidade = $this->input->post("Cidade");
        $UF = $this->input->post("UF");
        $CEP = $this->input->post("CEP");
        $CGC_CPF = $this->input->post("CGC_CPF");
        $DataNasc = implode("-", array_reverse(explode("/", $this->input->post("DataNasc"))));
        $CodSexo = $this->input->post("CodSexo");
        $TelResid = $this->input->post("TelResid");
        $TelComerc = $this->input->post("TelComerc");
        $Ramal = $this->input->post("Ramal");
        $Celular = $this->input->post("Celular");
        $E_mail = $this->input->post("E_mail");
        $Telrecado = $this->input->post("Telrecado");
        $Fax = $this->input->post("Fax");
        $Observacoes = $this->input->post("Observacoes");




        $dados = array(
            'NomeCliente' => $NomeCliente,
            'Endereco' => $Endereco,
            'Bairro' => $Bairro,
            'Cidade' => $Cidade,
            'UF' => $UF,
            'CEP' => $CEP,
            'CGC_CPF' => $CGC_CPF,
            'DataNasc' => $DataNasc,
            'CodSexo' => $CodSexo,
            'TelResid' => $TelResid,
            'TelComerc' => $TelComerc,
            'Ramal' => $Ramal,
            'Celular' => $Celular,
            'E_mail' => $E_mail,
            'Telrecado' => $Telrecado,
            'Fax' => $Fax,
            'Observacoes' => $Observacoes,

        );

        //Carregar o Model Pessoas
        $this->load->model("Clientes", "pDao");
        if($this->pDao->gravar($dados))
            $resp = $NomeCliente . ", enviado com sucesso!";
        else
            $resp = $NomeCliente . ", nao enviado!";

    }

    $this->load->view("cliente/index", 
            array('resp' => $resp));
    $this->load->view("template/rodape");
}

在您的控制器中,您可以加載許多模型並將模型數據放在單個視圖中

在您的控制器中首先加載您的所有模式

$this->load->model(array('modal1','modal2','modal3'));

控制器

 data['modaldata_1']=$this->modal1->model_1();
 data['modaldata_2']=$this->modal2->model_2();
 data['modaldata_3']=$this->modal3->model_3();
 //putting all data in view 
 $this->load->view('yourview',$data);

查看您可以像打印數據一樣。

 print_r($modaldata_1);
 print_r($modaldata_2);
 print_r($modaldata_3);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM