Незаконный строковый корректор

Привет, я пытаюсь извлечь записи из моей базы данных, но я продолжаю получать эту ошибку «Тяжесть: предупреждение: недопустимое смещение строки» в нескольких полях.

Вот мой контроллер view_logs.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class View_Logs extends CI_Controller { function View_Logs() { parent::__construct(); } function Logs(){ $id = $this->uri->segment(3); $this->load->model('log_listmodel'); $this->log_listmodel->log_list_get($id); } } ?> 

Вот моя модель log_listmodel.php

 <?php class Log_Listmodel extends CI_Model{ function Log_Listmodel() { parent::__construct(); } function log_list_get($id){ $query = $this->db->get_where('test_request_log', array('test_request_id' => $id)); //return $query->result(); $results=$query->result_array(); $data['query']=$results[0]; $this->load->view('logs_list_view',$data); } } ?> 

Вот моя страница просмотра log_list_view.php

 <table class="list_header" bgcolor="#ffffff" border="0" width="1020px" cellpadding="4px"> <?php foreach($query as $row): ?> <tr> <td><b>Updated</b></td> <td><?php echo $row['id'];?>.</td> <td><?php echo $row['new_testing_reason'];?></td> <td><?php echo $row['new_applicant_name'];?></td> <td><?php echo $row['new_authorizer_name'];?></td> <td><?php echo $row['new_received_by'];?></td> <td><?php echo $row['new_test_required'];?></td> <td><?php echo $row['new_laboratory_number'];?></td> <td><?php echo $row['log_date'];?></td> <td><?php echo $row['who'];?></td> </tr> <?php endforeach; ?> </table> 

Related of "Незаконный строковый корректор"

Вы установили $data['query'] в первую строку вашего результата, но в том представлении, которое вы используете, так как оно будет иметь весь набор данных.

Поэтому вам нужно изменить

 $data['query']=$results[0]; 

в

 $data['query']=$results; 

или

 $data['query']=$query->result_array(); 

Ваш код является недобросовестной структурой, я просто реконструирую его и упрощаю. Надеюсь, что это работает.

Сначала давайте загрузим вашу базу данных.

Перейдите в приложение / config / autoload.php, найдите эту строку, затем загрузите библиотеку базы данных автозагрузки

 /* | ------------------------------------------------------------------- | Auto-load Libraries | ------------------------------------------------------------------- | These are the classes located in the system/libraries folder | or in your application/libraries folder. | | Prototype: | | $autoload['libraries'] = array('database', 'session', 'xmlrpc'); */ $autoload['libraries'] = array('database'); 

Просмотр контроллера

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class View_Logs extends CI_Controller { function View_Logs() { parent::__construct(); $this->load->library('database'); // if you didn`t load 'database' in your autoload.php $this->load->model('log_listmodel'); } function Logs(){ $id = $this->uri->segment(3); $data['query'] = $this->log_listmodel->log_list_get($id)->result(); $this->load->view('logs_list_view',$data); } ?> 

Просмотр модели

 <?php class Log_Listmodel extends CI_Model{ function Log_Listmodel() { parent::__construct(); } function log_list_get($id){ return $this->db->get_where('test_request_log', array('test_request_id' => $id)); } } ?> 

Режим просмотра

 <table class="list_header" bgcolor="#ffffff" border="0" width="1020px" cellpadding="4px"> <?php foreach($query as $row): ?> <tr> <td><b>Updated</b></td> <td><?php echo $row->id;?>.</td> <td><?php echo $row->new_testing_reason;?></td> <td><?php echo $row->new_applicant_name;?></td> <td><?php echo $row->new_authorizer_name;?></td> <td><?php echo $row->new_received_by;?></td> <td><?php echo $row->new_test_required;?></td> <td><?php echo $row->new_laboratory_number;?></td> <td><?php echo $row->log_date;?></td> <td><?php echo $row->who;?></td> </tr> <?php endforeach; ?> </table>