Php 基于结果的条件_数组()
我正在使用codeigniter,我想根据模型的返回值生成一个条件 模型如下:Php 基于结果的条件_数组(),php,codeigniter,Php,Codeigniter,我正在使用codeigniter,我想根据模型的返回值生成一个条件 模型如下: public function get_sentitems() { $query = $this->db->get('sentitems'); return $query->result_array(); } 这是控制器: public function sentitems() { $data['sentitems'] = $this->sms_mod
public function get_sentitems()
{
$query = $this->db->get('sentitems');
return $query->result_array();
}
这是控制器:
public function sentitems()
{
$data['sentitems'] = $this->sms_model->get_sentitems();
if($data['sentitems']['Status'] === 'SendingOKNoReport')
{
$data['status_message'] = 'Sent';
}
else
{
$data['status_message'] = 'Failed';
}
$data['title'] = ucwords('sent items');
$this->load->view('templates/header', $data);
$this->load->view('sms/sentitems', $data);
$this->load->view('templates/footer');
}
if($data['sentitems']['Status'] === 'SendingOKNoReport')
{
$data['status_message'] = 'Sent';
}
else
{
$data['status_message'] = 'Failed';
}
这里是风景
<h2><?php echo $title; ?></h2>
<table border="1" width="100%">
<thead>
<tr>
<th>No.</th>
<th>Tujuan</th>
<th>Waktu</th>
<th>Isi</th>
<th>Ket.</th>
</tr>
</thead>
<tbody>
<?php foreach ($sentitems as $sentitems_item): ?>
<tr>
<td><?php echo $sentitems_item['ID']; ?></td>
<td><?php echo $sentitems_item['DestinationNumber']; ?></td>
<td><?php echo $sentitems_item['SendingDateTime']; ?></td>
<td><?php echo $sentitems_item['TextDecoded']; ?></td>
<td><?php echo $sentitems_item['Status']; ?></td>
</tr>
<?php endforeach ?>
</tbody>
</table>
不
图娟
瓦克图
三军情报局
基特。
我有一个列Status,但为什么浏览器中的结果总是这样:
遇到PHP错误严重性:注意
消息:未定义索引:状态
文件名:controllers/sms.php
行号:62
解决办法是什么?对不起,我的英语不好。问题是,在控制器中,
$data['sentitems']
包含来自数据库的一系列结果,因此您无法使用$data['sentitems']['Status']
获取这些结果。你真正拥有的是
$data['sentitems'][0]['Status']
$data['sentitems'][1]['Status']
$data['sentitems'][2]['Status']
等等
我认为此时最好的选择是从控制器中删除以下内容:
public function sentitems()
{
$data['sentitems'] = $this->sms_model->get_sentitems();
if($data['sentitems']['Status'] === 'SendingOKNoReport')
{
$data['status_message'] = 'Sent';
}
else
{
$data['status_message'] = 'Failed';
}
$data['title'] = ucwords('sent items');
$this->load->view('templates/header', $data);
$this->load->view('sms/sentitems', $data);
$this->load->view('templates/footer');
}
if($data['sentitems']['Status'] === 'SendingOKNoReport')
{
$data['status_message'] = 'Sent';
}
else
{
$data['status_message'] = 'Failed';
}
并修改模板中输出状态的行:
<td><?php echo $sentitems_item['Status'] == 'SendingOKNoReport' ? 'Sent' : 'Failed'; ?></td>
你看过$data['sentitems']实际上包含什么吗?它包含许多索引,例如$data['sentitems']['ID']
,$data['sentitems']['DestinationNumber']
,$data['SendingDateTime']
,$data['sentitems'['decodedtextd']
,以及$data['sentitems'['Status]]
。并且它可以显示在视图中。但是不显示在控制器中,$data['sentitems']['Status']不存在,否则您不会得到错误。也许你应该试试if(isset($data['sentitems']['Status'])&&$data['sentitems']['Status']==='sendingonoreport')
你可以看到结果:变量状态是可以在视图中显示,但不能在控制器中显示。我只想用我自己的文本更改文本sendingonoreport
。你能告诉我怎么做吗?谢谢。如果我想在代码中使用3个条件[$StuttEMS[St] ] /代码>,例如:<代码> 'sDENGOK' < /COD>,<代码> 'sDungGoNoRePosi'和