Codeigniter View Undefined Variable Error - PullRequest
       2

Codeigniter View Undefined Variable Error

1 голос
/ 05 ноября 2019

У меня есть программа, которая используется для управления товарами в магазине. Все работает нормально. Затем мне нужно получить отчет по выданным товарам update_stock_id.

Попробовал следующий код

Контроллер

class Reports extends FZ_Controller
{

    function __construct()
    {
        parent::__construct();
        $this->load->library('form_validation');

        $this->load->model('Report_model');

    }
public function printIssuedItems($id)
    {
        $data['issuedDetail'] = $this->Report_model->printIssuedItemData($id);
        $this->load->view('reports/printIssuedItems', $data);
    }
}

Модель

function printIssuedItemData($id)
    {
        $this->db->select('store_update_stock.request_no, store_update_stock.billed_date, tbl_user.username,store_item.item_name,
        sum(store_update_stock_details.r_qty) as r_qty, sum(store_update_stock_details.ap_qty) as ap_qty,
        sum(store_update_stock_details.is_qty) as is_qty');
        $this->db->from('store_update_stock');
        $this->db->join('store_update_stock_details', 'store_update_stock.update_stock_id=store_update_stock_details.update_stock_id');
        $this->db->join('tbl_user', 'store_update_stock.supplier=tbl_user.userId');
        $this->db->join('store_item', 'store_update_stock_details.item=store_item.item_id', 'right');
        $this->db->where(array('store_update_stock.update_stock_id' => $id, 'store_update_stock_details.status' => 1));
        $this->db->group_by('store_update_stock_details.item');

        $q = $this->db->get();
        if ($q->num_rows() > 0) {
            return $q->result();
        }
        return false;


    }

Вид (соответствующая часть)

<?php
if (!empty($issuedDetail)) {
    $issuedData = $issuedDetail[0];
}
?>

<div class="col-xs-12">
            <h2 class="page-header">

                <small class="text-center"> Request No: <b><?=$issuedData->request_no?></b>&nbsp;&nbsp;&nbsp;&nbsp;
                Request Date: <b><?=$issuedData->billed_date?></b>&nbsp;&nbsp;&nbsp;&nbsp;
                Officer Name: <b><?=$issuedData->username?></b></small>
            </h2>
     </div>

Модель выходит из правильного набора результатов. Но при выполнении представления отображается следующее сообщение об ошибке:

Обнаружена ошибка PHP
Серьезность: Уведомление
Сообщение: неопределенная переменная: assignData
Имя файла: reports / printIssuedItems.php
Номер строки: 52

Backtrace:

Файл:
C: \ xampp \ htdocs \ wpsstores \ application \ views \ reports \ \printIssuedItems.php
Строка: 52
Функция: _error_handler

Это относится к переменной $issuedData.

Я проверил каждую часть кода,Но не определил ни одной проблемы.

1 Ответ

1 голос
/ 05 ноября 2019

Во избежание ошибки неопределенной переменной в вашем представлении необходимо исключить выполнение html-кода на случай, если запрос к базе данных не вернет никаких результатов.

change:

<?php
if (!empty($issuedDetail)) {
    $issuedData = $issuedDetail[0];
}
?>
YOUR HTML CODE

до:

<?php
if (!empty($issuedDetail)):
    $issuedData = $issuedDetail[0];
?>
YOUR HTML CODE
<?php else:?>no records found
<?php endif?>

это покажет HTML-код, если запрос возвращает записи, в противном случае сообщение "no recs"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...