在codeigniter控制器和模型中遇到新创建函数的问题

时间:2017-03-20 19:47:48

标签: php android mysql database codeigniter

(Android dev新手)你好。主要是我添加新功能的原因是为了在数据库中检索更多限制。因为我有两个Android应用程序,组织者和播放器,但使用相同的数据库以及php文件。

首先让我向您展示控制器

玩家的功能
function laroforpi(){ //players listing of games
    if(!$this->session->userdata('is_logged_in')){
        redirect('login');
    }
    $this->load->model('games_model');
    $data = $this->games_model->laroforpi();
    echo json_encode($data)
}

模型

function laroforpi(){
    if($this->input->post('brunning') == "true"){
        $this->db->where('user_id', $this->input->post('user_id'));
        $query = $this->db->get('game');//select * from game
        $data = $query->result_array();
        return $data;
    }
    else{
        $date = date('Y-m-d');
        $data = array(
        'status' = 'Publish',
        'startdate <=' => $date, 
        'enddate >= ' => $date
        );

        $this->db->select('*');
        $this->db->from('game');
        $this->db->where($data);
        $result = $this->db->get(); 

        $row = $result->result();
        return $row;

    }
}

此处还有抓取(?)

的代码
public static void getGameForPlayers(final Context context, final boolean brunning, final RequestCallback<JSONArray> callback){
        Map<String, String> params = new HashMap<>();
        params.put("user_id", user_id);
        params.put("brunning",/* brunning == true? "true" : "false" */ "false");
        new PostRequest("getgameforplayers", params, new RequestCallback<JSONArray>() {
            @Override
            public void onSuccess(JSONArray response) {
                callback.onSuccess(response);
            }
            @Override
            public void onFailed(String message) {
                callback.onFailed("Error encountered. " + (message != null ? message : "") + "Please try again!" );
            }
        }).execute();
}

每次运行时,都会返回消息“遇到错误”,因此很可能是错误发生的地方

现在组织者(控制器)的功能

function getgame()//organizer list of games
{
    if(!$this->session->userdata('is_logged_in')){
        redirect('login');
    }
    $this->load->model('games_model');
    $data = $this->games_model->getgame();
    echo json_encode( $data );
}

现在为模型

function getgame()
{
    if($this->input->post('brunning') == "false"){
        $this->db->where('user_id', $this->input->post('user_id'));
        $query = $this->db->get('game');
        $data = $query->result_array();
        return $data;
    }
    else{
        $date = date('Y-m-d');
        $data = $this->db->query("SELECT * FROM game where user_id = ".$this->input->post('user_id')." and ".
            "((startdate <= '".$date."' and '".$date."' <= enddate));");

        return $data->result_array();
    }

}

通常我可以运行组织者应用程序但是这两个新函数应该在注释中,否则它将无法获取所需的数据。 玩家应用程序也是如此,当使用两个新功能时,它仍然无法检索数据。已经好几天了,我还没有找到任何答案。

0 个答案:

没有答案