Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将消息从模型传递到控制器codeigniter?_Codeigniter - Fatal编程技术网

如何将消息从模型传递到控制器codeigniter?

如何将消息从模型传递到控制器codeigniter?,codeigniter,Codeigniter,我想在某些情况下从codeigniter中的模型向控制器传递一个消息变量。但当我这样做的时候,每次都只打印“否” 模型是 public function add_city() { /* Storing form data into an array */ $data = array( 'city_name' => $this->input->post('city'), 'city_overview' => $this-&g

我想在某些情况下从codeigniter中的模型向控制器传递一个消息变量。但当我这样做的时候,每次都只打印“否”

模型是

public function add_city() {

    /* Storing form data into an array */
    $data = array(
        'city_name' => $this->input->post('city'),
        'city_overview' => $this->input->post('overview')
    );

    /* Checking if already exist in database */
    $query = $this->db->query("SELECT * FROM city_tbl WHERE city_name='" . $data['city_name'] . "' ORDER BY id ASC");
    $count_row = $query->num_rows();

    if ($count_row > 0) {
        $msg = "No";
    } else {
        $this->db->insert('city_tbl', $data);
        $msg = "Yes";
    }
    return $msg;
}
控制器是

public function addingCity() {
    $this->add_model->add_city();
    var_dump($msg);
    //redirect("/city");
}
试试这个

public function add_city() {    

    $city_name = $this->input->post('city');
    $city_overview = $this->input->post('overview');

    $query = $this->db->query("SELECT * FROM city_tbl WHERE city_name='$city_name' ORDER BY id ASC");
    $result = $query->result_array()
    $count = count($result);

    if(empty($count))
    { 
        $msg = "No";
        return $msg;
    } 
    else{ 

        $data = array( 
            'city_name'=>$this->input->post('city'), 
            'city_overview'=>$this->input->post('overview') );

        $this->db->insert('city_tbl', $data);
        $msg = "Yes";
        return $msg;
    }
}
在控制器中

public function addingCity() {
    $msg = $this->add_model->add_city();
    echo $msg;        
}
将数据传递给查看

public function addingCity() {
    $data['msg'] = $this->add_model->add_city();

    $this->load->view("filename", $data); # ex $this->load->view("index", $data);

}

控制器功能中存在错误

请尝试使用此代码

public function addingCity() {
    $msg = $this->add_model->add_city();
    echo $msg;die;
    //redirect("/city");
}

您需要为控制器中的
$msg
赋值

public function addingCity() {
    $msg=$this->add_model->add_city();// assign 
    var_dump($msg);
    //redirect("/city");
}
也试试这个

public function add_city() {

$data = array(
    'city_name' => $this->input->post('city'),
    'city_overview' => $this->input->post('overview')
);

/* Checking if already exist in database */
$query = $this->db->query("SELECT * FROM city_tbl WHERE city_name='" .    $data['city_name'] . "' ORDER BY id ASC");
$count_row = $query->num_rows();

if ($count_row > 0) {
    $msg = "No";
} else {
    $this->db->insert('city_tbl', $data);
    $msg = "Yes";
}
return $msg;
}
在控制器上使用get方法重定向消息-

public function addingCity() {
    $msg = $this->add_model->add_city();

    redirect("/city?msg=".$msg);
}
最后在查看页面上打印此消息

echo $this->input->get('msg');

我的型号和控制器代码在这里,您确定表中有数据吗?查询是否正确?是的,我确定,表中有数据,如果没有,则应打印“是”,显示此错误严重性:注意消息:未定义变量:msg Filename:controllers/addstuff.phpStill错误可能是我们必须将此变量检索到控制器严重性:警告消息:var_dump()至少需要1个参数,0给定文件名:controllers/addstuff.phpuse
echo
而不是
vardump
未定义的变量:msg在controllerc中我们可以使用重定向方法将此变量传递到特定页面吗?您需要将值分配给controllerc中的
$msg
,我们可以使用重定向方法将此变量传递到特定页面吗消息必须检查此@KillerHackerNo您不能通过redirect()传递此变量您可以使用会话flash message,在视图中,您可以访问flash消息@KillerHacker