2016-06-15 4 views
1

テーブルの人の最後の日付エントリだけを、結合されたテーブルから表示する必要があります。Codeigniter:最後の日付エントリのみを表示

私は最初のエントリまたはすべてを表示できるようです。

コントローラ

public function session_view($id) 
    { 
     $data['main_view'] = 'session_view'; 
     $data['view'] = $this->Swim_model->CRUD_read_session($id); 
     $this->load->view('load_view',$data); 
    } 

モデル

public function CRUD_read_session($sessionid) 
    { 
     return $this->db->select('*') 
      ->from('sessionsandswimmers') 
      ->join('child', 'ID = SwimmersID') 
      ->join('swimmersawards', 'PersonID = ID') 
      ->join('awards', 'AwardID = AwardsID') 
      ->order_by('LastName') 
      ->order_by('DateAwarded') 
      ->where('SessionID', $sessionid) 
     ->get(); 
    } 

ビュー

foreach ($view->result() as $row) 
    { 
      echo '<tr>'.$row->FirstName.'</td><td'.$row->LastName.'</td><td>'.$row->Description.'</td><td>'.$row->DateAwarded.'</td></tr>'; 
    } 

結果

あなたが見ることができるように、(第一を除く)それぞれの人のためのいくつかのエントリがあります。

各人の最新の日付エントリを表示する必要があります。

したがって、4つのエントリしかないはずです。

enter image description here

表構造

sessionsandswimmers - 各セッションは4人のスイマー

1 tempidプライマリINT(11)いいえなしAUTO_INCREMENT
2セッションID INT(11)いいえなし
3 SwimmersIDを有しますint(11)いいえなし
4 SessionSeasonID int(11)いいえなし
5年整数(11)いいえなし
6 LocationSS int型(11)いいえなし

子供 - 子供一人当たり複数のエントリ

1 PERSONID int型(11)いいえなし
2 AwardsID int型(11) - スイマーは

swimmersawardsに名前を付けますいいえなし
3 DateAwardedはいいえなしに

賞を日付なし - 賞の名前を取得します

+0

あなたのSQLクエリでグループを追加する必要があります – Efekan

答えて

0

変更->order_by('DateAwarded')->order_by('DateAwarded','DESC')。必要な注文の種類を指定する必要があります。そして、一人の利用ごとに1つのエントリのために:私が正しく理解している場合

->group_by('FirstName,LastName')

+0

まだ最初のエントリだけを与えます。 –

+0

多分セッションIDの値は?投稿したコードは、あなたが求めていたことを行う必要があるためです。 – Dray

+0

セッションIDは全員で同じです。 –

0

、あなたが表示された結果は、テーブル構造です。各「名前」の日付で最新のエントリを希望する場所。これが正しい場合は、

SELECT DISTINCT `name` FROM `<your-joined-tables>` order by `date` DESC 

残念ですが、私はCIのクエリービルダーには不満です。 うまくいきます。

+0

最新のエントリだけですので、1人につき1つずつ、4行だけ表示する必要があります。 –

+0

3つの名前を意味しないのですか?エヴィー、アミタ、ハリー。とにかく、DISTINCTを選択するとそのトリックが行われます。 – Roy

+0

この例では2つのEvieがあり、姓が異なります。 –

関連する問題