【发布时间】:2017-03-05 03:12:51
【问题描述】:
如何修复此错误消息:
遇到 PHP 错误
严重性:警告消息:无效
为 foreach() 提供的参数
文件名:views/editpages.php
行号:48
第 48 行:<?php foreach ($pages as $pages_item): ?>
views/editpages.php
<div class="row-fluid">
<div class="span12">
<?php foreach ($pages as $pages_item): ?>
<div class="widget-box">
<div class="widget-title"><h5>Pages</h5></div>
<div class="widget-content">
<?php echo form_open('cpages/editpagesupdate'); ?>
<table border="0" style="width: 100%; height: 90px;">
<tr>
<td>Pages Name</td>
<td><input type="text" name="pages_name" value="<?php echo $pages_item['pages_name']; ?>"></td>
</tr>
<tr>
<td>Create Date</td>
<td><input type="text" name="create_date" value="<?php echo $pages_item['create_date']; ?>"></td>
</tr>
<tr>
<td>Order</td>
<td><input type="text" name="pages_order" value="<?php echo $pages_item['pages_order']; ?>"></td>
</tr>
<tr>
<td>View Content</td>
<td><textarea rows="3" cols="20" name="pages_content"><?php echo $pages_item['pages_content']; ?></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" class="edit" name="submit" value="SUBMIT"></td>
</tr>
</table>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
控制器/Cpages.php
public function editpages() {
$data['pagessuccess'] = '';
$pages_id = $this->uri->segment(3);
$data['pages'] = $this->Mpages->call_point_pages($pages_id);
$this->load->view('editpages', $data);
}
模型/Mpages.php
public function call_point_pages($pages_id)
{
$this->db->where('pages_id', $pages_id);
$query = $this->db->get('pages');
//return $query->result_array();
return $query->result_array();
}
【问题讨论】:
-
根据你的 foreach 你得到 n 个表格和表格。但是所有表单操作都使用一种方法。检查你的代码是这个存档你的目的。例如:如果你在 foreach 中有 15 个数组,你会得到 15 个表格和 15 个表格。但是一个表单操作 URL。
-
@Davy .try 在 foreach 之前打印。 print_r($pages);出口;检查你得到什么数据
-
@Davy 我认为 $pages 没有数组数据
-
有几件事要检查...您是否有一个 segment(3) 值,如果没有会发生什么?您是否正在检查查询是否返回了有效结果,即 $data['pages'] 中的内容是数组还是其他内容?我暗示能够通过检查每个步骤的结果来调试这些东西,并能够处理你所期望的异常。
标签: php codeigniter