mysql - Codeigniter 查看未定义变量错误
问题描述
我有一个用于管理商店物品的程序。一切正常。然后我需要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>
Request Date: <b><?=$issuedData->billed_date?></b>
Officer Name: <b><?=$issuedData->username?></b></small>
</h2>
</div>
该模型超出了正确的结果集。但执行视图时,会显示以下错误消息。
遇到 PHP 错误
严重性:通知
消息:未定义变量:issuedData
文件名:reports/printIssuedItems.php
行号:52
回溯:
文件:
C:\xampp\htdocs\wpsstores\application\views\reports\printIssuedItems.php
行:52
功能:_error_handler
这指的是变量$issuedData
。
我检查了代码的每一部分。但没有发现任何问题。
解决方案
为了避免视图中出现未定义变量错误,您需要排除您的 html 代码被执行,以防数据库查询不返回任何结果。
改变:
<?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 代码,否则显示“无记录”消息
推荐阅读
- wordpress - 在 WordPress 上将 2 个文件夹从 https 重定向到 http
- ruby-on-rails - Ruby on Rails - 将参数附加到 URL 的末尾
- node.js - 通过 JS 推广 TFS npm 包
- javascript - Angular - 使用附加的集合测试@Input
- excel - 在 Excel 中提取字符串 Beetwen 2 字符
- azure - 从 xamarin 移动应用程序动态更改 azure 数据库连接字符串
- javascript - 用ajax重新加载php文件后保持div内的滚动位置
- python - 从 for 循环中删除注释
- android - 应用显示和移动显示不匹配反应原生
- java - eclipse无法自动导入某些类