[英]Unable to pass data from controller to view in codeigniter
我在将数据从 controller 传递到我的视图时遇到问题。 我有一个内容可编辑的 div,我将其内容保存到我的数据库中; 然后我想在视图中显示它。
我的 controller
{
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);
}
}
我的 model
<?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 class="w-100" ondblclick="makeEditable(this)" onblur="makeReadOnly(this)" contenteditable="true" id="contactMe">
<?php
foreach($contactMeData as $contact){
echo $contact;
}
?>
</div>
<button id="editBtn" type="submit" value="">Save changes
</button>
每次我重新加载页面时,它都会替换数据库中已有的数据,我只会得到一个空白 div。 我无法查看数据库中的数据。
尝试在 where 上添加参数
$this->db->where('contactMe',$parameter);
尝试在您的视图上添加字段名称
echo $contact['field_name'];
这可能是因为每次打开URL
时它都会更新table
,因此您需要一个条件来检查是否发出了POST
请求,然后更新column
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);
}
看看,对你有没有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.