Php 无法将数据从控制器传递到codeigniter中的视图
我在将数据从控制器传递到视图时遇到问题。我有一个contenteditable div,我正在将其内容保存到我的数据库中;然后我想在视图中显示它 我的控制器Php 无法将数据从控制器传递到codeigniter中的视图,php,codeigniter,Php,Codeigniter,我在将数据从控制器传递到视图时遇到问题。我有一个contenteditable div,我正在将其内容保存到我的数据库中;然后我想在视图中显示它 我的控制器 { function __construct(){ parent::__construct(); $this->load->database(); $this->load->model('view_data'); $data = arra
{
function __construct(){
parent::__construct();
$this->load->database();
$this->load->model('view_data');
$data = array();
}
public function index(){
$data['contactMe'] = $this->input->post('data');
$this->db->update('content', $data);
$results = $this->view_data->loadData();
$data['contactMeData'] = $results;
$this->load->view('pages/home', $data);
}
}
我的模型
<?php
class View_data extends CI_Model{
function __construct(){
parent::__construct();
}
public function loadData(){
$this->db->where('contactMe');
$query = $this->db->get('content');
return $query->result_array();
}
}
保存更改
每次我重新加载页面时,它都会替换数据库中已有的数据,而我只得到一个空div。我无法查看数据库中的数据。请尝试在何处添加参数
$this->db->where('contactMe',$parameter);
尝试在视图中添加字段名
echo $contact['field_name'];
这可能是因为每次打开
URL
时,它都会更新表
,因此您需要一个条件来检查是否发出了POST
请求,然后更新列
public function index(){
if($this->input->post()){ // check for post request
$data['contactMe'] = $this->input->post('data');
$this->db->update('content', $data); // try writing db queries in model
}
$results = $this->view_data->loadData();
$data['contactMeData'] = $results;
$this->load->view('pages/home', $data);
}
看,如果这对你有帮助的话 如果您没有直接路由到控制器(即“/edit/”),那么如何加载此视图?是否有其他控制器加载此视图,或者您是否设置了自定义路由?我有一个加载视图的基本“页面”控制器。我的jquery调用我的编辑控制器,用div的内容更新数据库。直接路由到它的问题是,每次我重新加载页面时,它都会用空白数据更新数据库。啊,在这种情况下,视图永远不会加载您在
编辑
控制器中设置的数据。您必须直接通过Edit
控制器进行路由,才能将您的contactMeData
传递到视图。如果数据库中的数据仅通过加载该视图而被替换,则可能在其他地方存在另一个问题。当我路由到编辑控制器时,我只得到一个空白div。我仍然可以保存更改,但这些更改会在我重新加载页面时立即在数据库中被替换。
public function index(){
if($this->input->post()){ // check for post request
$data['contactMe'] = $this->input->post('data');
$this->db->update('content', $data); // try writing db queries in model
}
$results = $this->view_data->loadData();
$data['contactMeData'] = $results;
$this->load->view('pages/home', $data);
}