2015-12-09 3 views
1

Я попытался получить несколько записей из базы данных, как система продажи билетов, это код, который загрузка из базы данных результатовCodeigniter результат запроса row_array дублировать

$this->db->select('*'); 
      $this->db->from('tickets'); 
      $this->db->where('t_author_steam_id', $steamid); 
      $query = $this->db->get(); 

      if($query->num_rows() > 0) { 
       $row = $query->row_array(); 

       return $row; 
      } 

Но это дублирование результатов, а не показывают все результаты, но только один. there is result

+0

проверить, сколько строк оно возвращает –

+0

является t_author_steam_id уникальным? –

+0

use '$ this-> db-> group_by ('');' в вашем запросе – Saty

ответ

1

Попробуйте

Метод 01

$this->db->select('*'); 
$this->db->from('tickets'); 
$this->db->where('t_author_steam_id', $steamid); 
$query = $this->db->get(); 
$result = $query->result_array(); 

if(!empty($result)) # this will act as $query->num_rows() > 0 
{ 
    return $result; 
} 

Method 02

$this->db->select('*'); 
$this->db->from('tickets'); 
$this->db->where('t_author_steam_id', $steamid); 
$this->db->group_by('t_author_steam_id'); # add this 
$query = $this->db->get(); 
$result = $query->result_array(); 

if(!empty($result)) # this will act as $query->num_rows() > 0 
{ 
    return $result; 
} 

Ввиду

<?php foreach($tickets as $items){ ?> 
    <tbody> 
     <th scope="row"><?php echo $items['t_id']; ?></th> 
     <th scope="row"> 
      <?php if($items['t_lang'] == 1) 
      { 
       echo lang('polish'); 
      } elseif($items['t_lang'] == 2) { 
       echo lang('english'); 
      } ?> 
     </th> 
     <td><?php echo $items['t_title']; ?></td> 
     <td><?php echo $items['t_date']; ?></td> 
     <td> 
      <?php 
      if($items['t_status'] == 1) 
      { 
       echo '<span class="label label-info" id="status">'.lang('items-status-1').'</span>'; 
      } 
      elseif($items['t_status'] == 2) 
      { 
       echo '<span class="label label-warning" id="status">'.lang('items-status-2').'</span>'; 
      } 
      elseif($items['t_status'] == 3) 
      { 
      echo '<span class="label label-Success" id="status">'.lang('items-status-3').'</span>'; 
      }?> 
     </td> 
     <td>Zobacz</td> 
    </tbody> 
<?php } ?> 

Метод 1 работает отлично. Проблема с в коде, где используется цикл по каждому элементу

+0

http://pastebin.com/HsNkfkJe Это код, где im использует цикл, но теперь у меня были только erros, такие как «Message: Undefined index: t_id», в моем контроллере это выглядит так: '\t \t \t $ ticket ['tickets '] = $ this-> support_model-> get_tickets ($ this-> session-> userdata (' u_steam_id ')); \t \t \t $ this-> load-> view ('support_view', $ ticket); ' –

+0

разместить свой код контроллера и просматривать код слишком –

+0

http://pastebin.com/mnJdMCiK –

0

$query->row_array() возвращается только первая строка всех записей. Если вы хотите вернуть все записи, используйте вместо этого $query->result_array().