簡體   English   中英

Codeigniter選擇不同的並傳遞變量列表

[英]Codeigniter select distinct and passing the list of variables

只是想從WHERE user_id = $ user_id表中選擇國家/地區 ,將國家/地區列表從模型傳遞到控制器,然后通過國家/地區列表的JSON表示,但是由於我是Codeigniter的新手,所以我不確定是否正確編寫了查詢,如果我返回列表或單個值。 您能檢查一下我的代碼嗎?

模型:

public function did_get_country_list($user_id) {

        $this->db->distinct('country');
        $this->db->where('user_id',$user_id);
        $query = $this->db->get('table');

        if ($query->num_rows() >= 1) {
         foreach ($query->result() as $row)
        {
            $country = $row->country;
        }
        return $country;
        }
        else{
         return false;
        }       
    }   

控制器:

$country = $this->model_users->did_get_country_plans($user_id);

echo json_encode($country);

您的代碼對我來說幾乎可以,但是我認為您應該更改2行:

1)在實際查詢之前刪除對num_rows的檢查。

2)要返回國家/地區數組,請在$country末尾添加[]以推送新值。

因此,代替此代碼段:

    if ($query->num_rows() >= 1) {
     foreach ($query->result() as $row)
    {
        $country = $row->country;
    }
    return $country;
    }
    else{
     return false;
    }

你將會擁有:

    $country = false;
    foreach ($query->result() as $row)
    {
        $country[] = $row->country;
    }
    return $country;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM