Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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
Mysql Codeigniter Noob问题——活动记录和结果?_Mysql_Database_Codeigniter - Fatal编程技术网

Mysql Codeigniter Noob问题——活动记录和结果?

Mysql Codeigniter Noob问题——活动记录和结果?,mysql,database,codeigniter,Mysql,Database,Codeigniter,我正在写一个简单的应用程序。我需要阻止用户从一个页面,如果他们的信用哪里的东西 它也必须是当前用户的行,我还不知道如何遍历数组 谢谢 那么,最简单的解决方案就是加载一个不同的视图 至于模型,它看起来是这样的: class UserModel extends Model { public function getUserCredit($id) { $this->load->database(); //effectively generates:

我正在写一个简单的应用程序。我需要阻止用户从一个页面,如果他们的信用<0

我有一个带有信用行的表用户配置文件

如果信用值为0,我如何与控制器一起设置模型,以将用户发送到另一个页面

这应该是直截了当的,但我是新的选择->哪里的东西

它也必须是当前用户的行,我还不知道如何遍历数组


谢谢

那么,最简单的解决方案就是加载一个不同的视图

至于模型,它看起来是这样的:

class UserModel extends Model {
    public function getUserCredit($id) {
        $this->load->database();
        //effectively generates: SELECT `credit` FROM `User_profiles` WHERE `id`=$id
        $query = this->db->select('credit')->where('id',$id)->get('User_profiles');
        //row() executes the query for a single result, returns the credit property
        return $query->row()->credit;
    }
}
然后在控制器中:

class Users extends Controller {
    //....
    public function credit() {
        $this->load->model('userModel','users');
        // assuming the session library has been loaded
        $user_id = $this->session->userdata('id');
        $credit = $this->users->getUserCredit($user_id);
        if ($credit == '0') $this->load->view('users/no_credit');
        else $this->load->view('users/credit');
    }
}
这是未经测试的,但它至少可以帮助你获得想法

当您请求页面/users/credit/1时,CI将调用users::credit1操作

然后将UserModel加载为$this->users

您调用$this->users->getUserCredit1,将其转换为UserModel::getUserCredit1,以存储为$credit

模型加载数据库

您告诉db选择'credit'选择credit列,其中'id',1其中id=1,然后获取'User\u profiles'从User\u profiles表中获取匹配行。它返回一个查询,为了可读性,您将其存储为$query

getUserCredit返回查询的单行结果的credit属性

如果$credit==0,则加载视图views/users/no_credit.php

否则,您将加载view/views/users/credit.php。通常,按照视图所表示的操作命名视图,并将其放在与控制器对应的文件夹中


嗯,最简单的解决方案就是加载一个不同的视图

至于模型,它看起来是这样的:

class UserModel extends Model {
    public function getUserCredit($id) {
        $this->load->database();
        //effectively generates: SELECT `credit` FROM `User_profiles` WHERE `id`=$id
        $query = this->db->select('credit')->where('id',$id)->get('User_profiles');
        //row() executes the query for a single result, returns the credit property
        return $query->row()->credit;
    }
}
然后在控制器中:

class Users extends Controller {
    //....
    public function credit() {
        $this->load->model('userModel','users');
        // assuming the session library has been loaded
        $user_id = $this->session->userdata('id');
        $credit = $this->users->getUserCredit($user_id);
        if ($credit == '0') $this->load->view('users/no_credit');
        else $this->load->view('users/credit');
    }
}
这是未经测试的,但它至少可以帮助你获得想法

当您请求页面/users/credit/1时,CI将调用users::credit1操作

然后将UserModel加载为$this->users

您调用$this->users->getUserCredit1,将其转换为UserModel::getUserCredit1,以存储为$credit

模型加载数据库

您告诉db选择'credit'选择credit列,其中'id',1其中id=1,然后获取'User\u profiles'从User\u profiles表中获取匹配行。它返回一个查询,为了可读性,您将其存储为$query

getUserCredit返回查询的单行结果的credit属性

如果$credit==0,则加载视图views/users/no_credit.php

否则,您将加载view/views/users/credit.php。通常,按照视图所表示的操作命名视图,并将其放在与控制器对应的文件夹中


+1.这正是控制器设计用来处理的东西。我觉得我更暖和了!你能解释一下cred$user\u id部分吗?这方面我是新手。这确实有帮助,但我仍然有困难对不起,如果这是一个痛苦,但我的理解是非常有限的。只是补充了一个解释。希望有帮助。我想我明白了!在我设置的模型中,$this->session->userdata'id'。。。这有意义吗?谢谢你的快速回答+1.这正是控制器设计用来处理的东西。我觉得我更暖和了!你能解释一下cred$user\u id部分吗?这方面我是新手。这确实有帮助,但我仍然有困难对不起,如果这是一个痛苦,但我的理解是非常有限的。只是补充了一个解释。希望有帮助。我想我明白了!在我设置的模型中,$this->session->userdata'id'。。。这有意义吗?谢谢你的快速回答!