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

    }
Другие вопросы по тегам