Codeigniter заполнить таблицу из базы данных - PullRequest
2 голосов
/ 16 мая 2011

Я хочу заполнить все данные из моей базы данных в таблицу, используя <?php foreach; ?>, но не могу заставить ее работать. Пожалуйста, проверьте мой код:

controller
$data['query'] = $this->db->query('SELECT * FROM users');
$this->load->view('users_view',$data);

View
<?php foreach ($query->result_array() as $row)
{ ;?>
<tr>
<td><?php echo $row['usrID'];?></td>
<td><?php echo $row['usrName'];?></td>
<td><?php echo $row['usrPassword'];?></td>
</tr>
<?php } ?>
<?php endforeach; ?>

1 Ответ

5 голосов
/ 16 мая 2011

Я бы рекомендовал альтернативный синтаксис для вашего foreach в представлении ...

Похоже, у вас должны быть некоторые синтаксические ошибки, как у вас.

<?php foreach ($query->result_array() as $row): ?>
    <tr>
        <td><?php echo $row['usrID'];?></td>
        <td><?php echo $row['usrName'];?></td>
        <td><?php echo $row['usrPassword'];?></td>
    </tr>
<?php endforeach; ?>

РЕДАКТИРОВАТЬ - чтобы указать на проблемы с синтаксисом.

<?php foreach ($query->result_array() as $row)
{ ;?> //<---- semicolon?
<tr>
<td><?php echo $row['usrID'];?></td>
<td><?php echo $row['usrName'];?></td>
<td><?php echo $row['usrPassword'];?></td>
</tr>
<?php } ?>
<?php endforeach; ?> //<--- no need for this when using regular foreach

Эта первая точка с запятой будет выглядеть как запись foreach, подобного этой ...

foreach ($array as $ele) { ; //<--this would throw an error just like it should above.
    //do stuff
}

Мнение, помимо вопроса вопроса

Вы должны обрабатывать свои данные в контроллере и просто отправлять массив данных для отображения в представлении, а не весь объект запроса.

, так что ...

Контроллер

$query = $this->db->query('SELECT * FROM users');
$data['users'] = $query->result_array();
$this->load->view('users_view',$data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...