Ich versuche, eine Liste von Studenten mit ihren entsprechenden Prüfungsschlüssel anzuzeigen. Aber mein Code dupliziert die Daten und die Prüfungsschlüssel sind den falschen Schülern zugeordnet (siehe das Bild, was ich meine). Kann mir jemand sagen, was mit meinem Code nicht stimmt? Ich vermute, dass es etwas mit meinem Modell zu tun hat, aber ich weiß nicht, was ich ändern soll.Duplizierung von Daten in View php codeigniter
Und hier sind meine Code.
-Controller
public function loadExamKey($examNo){
$this->load->model('exam_model');
$data = $this->addExamKey($examNo);
$data = $this->exam_logs($examNo);
$data['examKey'] = $this->exam_model->displayExamKeys($examNo);
$this->load->view('exam_key', $data);
}
Modell
public function displayExamKeys($examNo){
$this->db->select('student.lastName');
$this->db->select('student.firstName');
$this->db->select('student.middleName');
$this->db->select('student.student_no');
$this->db->select('keys.exam_key');
$this->db->from('student');
$this->db->join('keys', 'student.course_id = keys.course_id');
$this->db->where('exam_no', "$examNo");
$query = $this->db->get();
if($query->num_rows() > 0){
return $query->result();
}
else
return false;
Ansicht
<table class="table table-striped table-advance table-hover">
<tbody>
<tr>
<th><i class="">Student Number</th>
<th><i class=""></i> Name</th>
<th><i class=""></i> Exam Key</th>
</tr>
<?php
if($examKey != NULL){
foreach ($examKey as $row) {
echo '<tr>';
echo '<td>'.$row->student_no.'</td>';
echo '<td>'.$row->lastName.",".$row->firstName." ".$row->middleName.'</td>';
echo '<td>'.$row->exam_key.'</td>';
echo '<tr>';
}
}
ich php codeigniter und postgresql verwende. Ich habe gerade angefangen das zu lernen und ich bin ein bisschen verwirrt.
versuchen, diese Linie nach $ this-> db-> where ('exam_no', "$ examinNo"); $ this-> db-> group_by ('exam_no'); –
@GeordyJames es funktioniert auch nicht und ich habe Fehler: Nachricht: pg_query(): Abfrage fehlgeschlagen: Fehler: Spalte "student.lastName" muss in der GROUP BY-Klausel erscheinen oder in einer Aggregatfunktion verwendet werden LINE 1: SELECT " student "." lastName "," student "." firstName "," student ...^ – dubiousconquest
Können Sie alle Attribute (alle Spaltenfelder) der Schüler-Tabelle und der Schlüsseltabelle mit der Frage –