Ich muss nur den letzten Datumseintrag für eine Person in einer Tabelle anzeigen, die aus verknüpften Tabellen stammt.Codenummer: Nur letzten Eintrag anzeigen
Ich scheine nur in der Lage, den ersten Eintrag oder alle anzuzeigen.
-Controller
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);
}
Modell
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();
}
Ansicht
foreach ($view->result() as $row)
{
echo '<tr>'.$row->FirstName.'</td><td'.$row->LastName.'</td><td>'.$row->Description.'</td><td>'.$row->DateAwarded.'</td></tr>';
}
Ergebnis
Wie Sie sehen können, gibt es für jede Person mehrere Einträge (außer 1.).
Ich muss nur die neuesten Datumseingabe für jede Person anzeigen.
Also sollte es nur 4 Einträge geben.
Tabellenstruktur
sessionsandswimmers - Jede Session hat 4 Schwimmer
1 LFDNR Primary int (11) Keine Keine AUTO_INCREMENT
2 SessionID int (11) Keine Keine
3 SwimmersID int (11) Nein Kein
4 SessionSeasonID int (11) Nein Kein
5 Jahre int (11) Nein Keine
6 LocationSS int (11) Nein Kein
Kind - bekommt der Schwimmer
nenntswimmersawards - mehrere Einträge pro Kind
1 PersonID int (11) Nein Kein
2 AwardsID int (11) keine keine
3 DateAwarded Datum keine keine
Auszeichnungen - bekommt den Namen des Preises
Sie sollten eine Gruppe von in Ihrer SQL-Abfrage hinzufügen – Efekan