我对Codeigniter有意见。我试图将值从视图传递给控制器,它起作用了。但是当它从控制器传递到模型时有一个问题。它没有将任何值返回到视图中。
这是我的控制器:
public function Edit2G() {
$id = $this->uri->segment(3);
$this->load->model("main_model");
$data['fetch_data_2G_where'] = $this->main_model->fetch_data_2G_id($id);
$data['id'] = $id;
$data['title'] = "Update Data 2G";
$this->load->view('templates/header');
$this->load->view("pages/Update2G", $data);
$this->load->view('templates/footer');
}
这是模型
function fetch_data_2G_id($id)
{
$get_2G_data_stored_proc = "CALL Get_2G_Data(?)";
$data = array( 'id' =>$id);
$query = $this->db->query($get_2G_data_stored_proc, $data);
$result = $query->result_array();
return $get_2G_data_stored_proc;
}
这就是我的观点
<h2 align="center"><?=$title ?></h2>
<h3 align="center"><?=$id ?></h3>
<p align="center"><?php echo $fetch_data_2G_where['id'];?></p> //This is a test
<?php echo form_open('posts/update'); ?>
<input type="hidden" name="id" value="<?php //echo $fetch_data_2G_where['id']; ?>">
<div class="form-group">
<label>Site ID</label>
<input type="text" class="form-control" name="title" placeholder="add title" value="<?php //echo $fetch_data_2G_where['site_name'];?>">
</div>
这是存储过程的结果
id, id_site, site_name, bsc_name, bcf_id, vlan1, vlan2, status,status_vlan
'1', 'COK008', 'Combat Batylon754','FBTIMIKA-1','BCF-0112', '3677', '3137', '', 'Metro E'
这是我得到的错误
遇到PHP错误严重性:警告
消息:非法字符串偏移量“id”
文件名:pages/Update2G。php
行号:3
回溯:
文件:C:\xampp\htdocs\DapotTimika\application\views\pages\Update2G。php行:3函数:\u错误\u处理程序
File: C:\xampp\htdocs\DapotTimika\应用程序\控制器\Pages.php行:46功能:视图
文件:C:\xampp\htdocs\DapotTimika\index。php行:315函数:需要一次
我错过了什么?
谢谢你们的回答,我找到了答案。
我忘了将返回值从模型解析到数组中。模型和控制器中的代码很好。
这是我的查看代码
<?php
if($fetch_data_2G_where->num_rows() > 0)
{
foreach($fetch_data_2G_where->result_array() as $data)
{
?>
<input type="hidden" name="id" value="<?php echo $data['id']; ?>">
<div class="form-group">
<label>Site ID</label>
<input type="text" class="form-control" name="site_id" value="<?php echo $data['id_site'];?>">
<?php } ?>
结果如下
在控制器中,打印以下行
$data['fetch_data_2G_where'] = $this->main_model->fetch_data_2G_id($id);
echo "<pre>"; print_r($data['fetch_data_2G_where']);
只是看看你的查询返回的结果是什么。然后从你的结果中,你可以分析并获得想要的结果。
我想从下拉菜单中选择一个产品类别选项,并显示具有该特定类别的产品。 以下是我认为的形式部分: 正如您所看到的,我通过onchange=“this.form.submit();(如果这不是一个好主意,请建议其他方法,我只是不想使用ajax,因为我还不太擅长它,不管怎样,建议更好的方法)。 然后在我的控制器中,我得到这个选项,并将其转换为数组,在我的模型中使用它。 控制器部分: 我的模型: 在这里我没
问题内容: 以下是我的html模板: 下面是我的代码: 为什么我会收到“ 未定义 ”而不是“ 某些消息 ” 下面是一个小提琴 http://jsfiddle.net/j2K7N/27/ 问题答案: 您的代码几乎是正确的,但是这里有几个问题: 在这里,您从控制器传递函数,该函数带有一个未定义的参数,该参数会导致警报消息带有“未定义”文本。我建议将HTML代码修改为: 请注意,我将传递为变量而不是函数
问题内容: 我一直想知道如何将所有存储过程放在源代码管理下的SQL 2000上。 我们将Subversion用于所有常规源代码,因此,如果有使用Subversion解决该问题的方法,那就更好了。 你有什么想法? 更新16-02-2009:这是我用来导出所有存储过程的vbs脚本: 问题答案: 就像其他人所说的那样,首先将每个存储的proc存储在一个单独的文本文件中,该文件受源代码控制。写一个脚本来删
问题内容: 我试图通过ajax调用将模型传递给控制器。 我已经看过Laviak在以下问题中提供的答案,但无法使其正常工作。 运行ajax调用时,MODEL变量出现未定义的错误。我已经确认正在调用助手类,并且正在返回字符串。是否因为AJAX调用位于.js文件中?为什么未定义? 我的代码: Site.Master: 助手类: Javascript文件: 动作方法: 问题答案: 确保在主文件中定义变
问题内容: 如何从代码传递大量参数(例如20+)到存储过程? 就像我们可以将所有参数分组在一个类对象中,然后将其传递给其他对象,但是在存储过程的情况下如何实现这一点。 目前,我必须创建20多个变量才能传递参数。 谢谢阿什瓦尼(Ashwani) 问题答案: 如果您使用的是SQL Server 2008,请使用表值参数。如果您不熟悉,它基本上允许您将表作为参数传递给存储过程。好处是您可以根据自己的需要
我有使用Springboot和Thymeleaf模板编写的简单Web应用程序。报告控制器从表单接收数据并构建TestPlanReportReportACK对象,该对象作为模型属性添加如下: 我可以在“图表”thymeleaf模板中使用该数据并显示我需要的数据,但我需要在单击按钮时将完全相同的对象发送回控制器,但我得到TestPlanReportACK对象作为设置空值的参数。 以下是我的按钮在图表模