繁体   English   中英

无法从 controller 传递数据以在 codeigniter 中查看

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM