簡體   English   中英

在codeigniter中顯示帶有連接表的數據

[英]show data with join table in codeigniter

我想顯示用戶的所有保留,這是我的表:

CREATE TABLE IF NOT EXISTS `reservation` (

id_passager INT(11)NOT NULL, idvoyage INT(11)NOT NULL, etat VARCHAR(20)NOT NULL, dateres時間戳NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY( id_passageridvoyage ),KEY iduserid_passageridvoyage ),KEY idvoyageidvoyage ));

CREATE TABLE IF NOT EXISTS `trajet` (

id int(11)非空AUTO_INCREMENT, villedep varchar(100)非空, villearrivee varchar(100)非空,主鍵( id ));

CREATE TABLE IF NOT EXISTS `user` (

id int(11)NOT NULL AUTO_INCREMENT, nom varchar(50)NOT NULL, prenom varchar(50)NOT NULL, datenaiss date NOT NULL, sexe varchar(10)NOT NULL, email varchar(50)NOT NULL, numtel varchar(14) )NOT NULL, mdp varchar(16)NOT NULL, imageprofil varchar(100)DEFAULT NULL, nbsignal int(11)DEFAULT NULL, pseudo varchar(20)NOT NULL, musique varchar(20)DEFAULT NULL, fumeur varchar(20)DEFAULT NULL, bavardage varchar(20)默認NULL, sexecovoiturage varchar(20)默認NULL, description varchar(200)默認NULL,PRIMARY KEY( id ),UNIQUE KEY emailemail ),UNIQUE KEY numtelnumtel ),UNIQUE KEY pseudopseudo ));

CREATE TABLE IF NOT EXISTS `vehicule` (

matricule varchar(50)不為空, marque varchar(50)不為空, modele varchar(50)不為空, confort varchar(50)不為空, couleur varchar(20)不為空, image1 varchar(100)默認為空, id_utilisateur int (11)NOT NULL,PRIMARY KEY( matricule ),KEY id_utilisateurid_utilisateur ));

這是我的控制器功能:

public function reservation()
{
    $this->load->view('headerprofile');
    $data['reservation']=$this->User_model->getReservation();
    $this->load->view('trajet/reservation',$data);
    $this->load->view('footerprofile');
}

這是我的模型:

function getReservation()
{
    $results = array();

    $id=$this->session->userdata('id');
    $this->db->select('res.*, v.*, t.*');
    $this->db->from('reservation AS res, voyage AS v, trajet AS t,user AS u,vehicule AS veh ');
    $this->db->where('res.id_passager',$id);
    $this->db->where('u.id',$id);
    $this->db->where('res.idvoyage=v.id');
    $this->db->where('t.id=v.id_trajet');
    $this->db->where('veh.id_utilisateur',$id);
    //$this->db->where('v.id_vehicule=veh.matricule');

    $query = $this->db->get();
    if($query->num_rows()>1)
    {
        $results =$query->result();
    }
   return $results;
}

您可能需要將連接包括在某個位置。 我還不足以記住您的外鍵並寫出可以直接粘貼到代碼中的示例,但是您必須:

$this->db->from('table1');
$this->db->join('table2', 'table2.index = table1.index');

您可以根據需要指定聯接的類型。 如果您想做一些精美的事情,請參閱手冊以獲得更詳盡的解釋。

https://www.codeigniter.com/userguide3/database/query_builder.html

暫無
暫無

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

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