2016-04-30 6 views
0

Ich möchte Werte eines Arrays anzeigen, aber es zeigt nur einen Wert des Arrays und nicht alle Werte des Arrays.Codeigitter Array-Anzeige

Modell:

function get_subject_position($exam_id , $class_id , $subject_id) { 

     $this->db->where('exam_id' , $exam_id); 
     $this->db->where('class_id' , $class_id); 
     $this->db->where('subject_id' , $subject_id); 
     $this->db->select('mark_obtained'); 
     $this->db->order_by('mark_obtained DESC'); 
     $subject_position = $this->db->get('mark')->result_array(); 
     foreach($subject_position as $row) { 

      return $row;  
     } 
     } 

Ausblick:

$subject_pos = $this->crud_model->get_subject_position($row2['exam_id'], $class_id, $row3['subject_id']); 

<td style="text-align: center;"><?php echo $subject_pos['mark_obtained'];?></td> 

Antwort

1

Sie müssen die "foreach" Schleife in Ihre Ansicht bewegen, denn jetzt ist es die erste $ row Rückkehr und stoppen dann die foreach Schleife ("return" stoppt looping)

Beispiel:

Ansicht

<?php 
$subject_pos = $this->crud_model->get_subject_position($row2['exam_id'], $class_id, $row3['subject_id']); 
foreach($subject_pos as $row) { 
?> 
<tr> 
    <td style="text-align: center;"><?=$row['mark_obtained']?></td> 
</tr> 
<?php } ?> 

Funktion

function get_subject_position($exam_id , $class_id , $subject_id) { 

    $this->db->where('exam_id' , $exam_id); 
    $this->db->where('class_id' , $class_id); 
    $this->db->where('subject_id' , $subject_id); 
    $this->db->select('mark_obtained'); 
    $this->db->order_by('mark_obtained DESC'); 

    return $this->db->get('mark')->result_array(); // Get ALL rows 

    } 
+0

Sie does'n das Ergebnis Array return-Anweisung senden ähnliche return $ sollte this-> db-> get ('mark') -> result_array(); –

+0

@RanjeetSingh danke, aktualisiert den Code – prasoc

+0

Vielen Dank bin dankbar – 4Jean