Отображение 0 результатов в запросе CodeIgniter - PullRequest
1 голос
/ 01 февраля 2012

Я чувствую, что это глупый вопрос, но я не могу найти хорошую документацию, которая объясняет, что я ищу.

Если я сделаю запрос к базе данных в моей модели и передам массив результатов в мое представление,где я могу указать, что при наличии 0 результатов выведите «Нет результатов для отображения?»

Ответы [ 3 ]

6 голосов
/ 01 февраля 2012

Если вы хотите отобразить текст пользователю, это, вероятно, лучше всего сделать в представлении.

Предполагая, что вы передаете массив result() в представление, вы можете проверить, пустой он или нет (то есть не имеет записей):

if(empty($query->result())){
    // no records to display
} else {
    // records have been returned
}

В противном случае вы можете проверить с помощью метода num_rows(), имеете ли вы дело с объектом БД в целом (а не только с result()):

if($query->num_rows() > 0){
    // records have been returned
} else {
    // no records
}
2 голосов
/ 01 февраля 2012

Вы можете попробовать ...

$query = $this->db->query("YOUR QUERY");

$a = $query->result_array();

if(count($a) > 0){
  foreach ($a as $row)
  {
    //....
  }
}

Я рекомендую вам прочитать эту ссылку http://codeigniter.com/user_guide/database/index.html

0 голосов
/ 02 февраля 2012

Вероятно, лучше всего сделать в представлении.Если вы не используете никаких шаблонизаторов,

<?php if ($result->num_rows() > 0): ?>
  // do something...
<?php else: ?>
  <p>There are no results to display</p>
<?php endif; ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...