Codeigniter Array Display
Я хочу отобразить значения массива, но он отображает только одно значение массива, а не все значения массива.
Модель:
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;
}
}
Посмотреть:
$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>
1 ответ
Решение
Вам нужно переместить цикл "foreach" в ваше представление, потому что сейчас он возвращает первую строку $, а затем останавливает цикл foreach ("return" останавливает цикл)
Пример:
Посмотреть
<?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 } ?>
функция
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
}