2016-06-01 3 views
0

Я новичок в PHP и с помощью MVC. Мой скрипт, кажется, показывает только одну запись вместо нескольких записей даже в цикле foreach.CodeIgniter, только запрос показывает только 1 запись

Вот мой код:

Модель

public function rp_reach_rate_stmt() 
{ 
    $stmt = $this->db->select(array('user_id','user','full_name'))->get('vicidial_users',10); 
    // $stmt = $this->db->get('vicidial_users',10); 
    return $stmt->row(); 
} 

Контроллер

public function rp_reach_rate() 
{ 

    $this->load->model('db_model'); 
    $data['sqlstmt'] = $this->rp_reach_rate_get_data(); 
    $this->load->view('RP_ReachRate',$data); 
} 

private function rp_reach_rate_get_data() 
{ 
    $this->load->model('db_model'); 
    $result = $this->db_model->rp_reach_rate_stmt(); 
    return $result; 
} 

Посмотреть

<?php 
    var_dump($sqlstmt);echo '<br />'; 
    foreach($sqlstmt as $row) 
    { 
     echo $row." "; 

    } 
?> 

РЕЗУЛЬТАТ

объект (StdClass) # 19 (3) {[ "идентификатор_пользователя"] => строка (1) "1" [ "пользователь"] => строка (4) " 6666" [ "full_name"] => строка (5) "Admin"}

1 6666 Администратор

я мог бы что-то пропустил.

+1

Не пользователь-кодогенератор, а руководство говорит «Этот метод возвращает единственную строку результата. Если ваш запрос имеет более одной строки, он возвращает только первую строку. 'https://www.codeigniter.com/userguide3/database/results.html Мое предположение, используйте' result', а не 'row'. – chris85

+0

fyi - в части получения вы ограничиваете ее возвращением 10 записей. если вы хотите, чтобы все записи были возвращены, тогда удалите:, 10 – cartalot

ответ

1
public function rp_reach_rate_stmt() 
    { 
     $stmt = $this->db->select(array('user_id','user','full_name'))->get('vicidial_users',10); 
    // $stmt = $this->db->get('vicidial_users',10); 
     return $stmt->result_array(); 
    } 

изменение $stmt->row() к $stmt->result_array(), как указано выше, и тест. Он будет возвращать результат со всеми строками & как массив. Если вам нужен доступ в качестве объекта, то используйте result() вместо result_array()

+0

Привет, попробуй это. Спасибо за быстрый ответ. :) – DonX

+0

Нет im, у которого ошибка преобразования массива в String. Мне нужно, чтобы выяснить это немного здесь внутри вида Еогеаспа ($ sqlstmt в $ ряда) \t \t \t { \t \t \t \t эхо $ строки ««. \t \t \t} – DonX

+0

'Эхо $ строки [ 'DB_coulmn_name']' при использовании 'result_array()' –

Смежные вопросы