【问题标题】:Codeigniter active record get records from mysql where ids equal those in arrayCodeigniter 活动记录从 mysql 获取记录,其中 id 等于数组中的记录
【发布时间】:2012-07-05 23:19:09
【问题描述】:

我有一个包含以下数据的数组:

array(3) { [0]=> array(1) { ["project_id"]=> string(2) "14" } [1]=> array(1) { ["project_id"]=> string(2) "21" } [2]=> array(1) { ["project_id"]=> string(2) "13" } }

我需要从我的数据库中回显所有行,其中项目 ID 等于我的数组中的行。

使用下面的代码,我怎样才能只获取ID等于数据库中的记录???

    function get_projects($id){
        $data = '';

        $this->db->where('id', $id); //HOW TO GET MULTIPLE IDS
        $query = $this->db->get('projects'); 

        foreach ($query->result() as $row) {
            $data[] = array(
                'id' => $row->id,
                'user_id' => $row->user_id,
                'project_name' => $row->project_name,
            );
        }

        return $data;

    }

【问题讨论】:

    标签: php mysql arrays codeigniter activerecord


    【解决方案1】:

    使用where_in();

    $names = array('Frank', 'Todd', 'James');
    $this->db->where_in('username', $names);
    // Produces: WHERE username IN ('Frank', 'Todd', 'James')
    

    请参阅the user guide 了解更多信息。

    【讨论】:

    • 如何将数据从多维数组中取出并放入标准数组中,就像您的答案一样???
    • 一个简单的foreach循环应该可以很容易地从多维数组中获取值并将其放入一个平面数组中。
    • 你能帮我做吗,或者我应该打开一个新问题,已经搜索但找不到适合我需要的答案...
    • 我今天进进出出,所以我建议提出一个新问题。确保您在问题中显示您尝试过的一些代码,否则您将被否决。循环问题经常发生这种情况。他们喜欢在提供帮助之前先看到努力。如果您确实发布了一个新问题,请在此处发布链接,以便我可以找到它并尝试解决它。​​
    猜你喜欢
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2014-04-05
    • 2011-02-28
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 2014-02-22
    相关资源
    最近更新 更多