首先是我的资源

php - 使用codeigniter获取数据库上具有相同值的列-LMLPHP

如您所见,在我的数据库中,我有一个Referal_CodeReferral_Link

现在,我要在这里尝试获得的所有Referral_LinkReferal_Code上具有相同的值

我知道我离我想做的事还很遥远,但我正在尽力做到这一点。
这是我到目前为止尝试过的

在我的model

public function get_same_referral_code()
{
   $this->db->select('referal_code');
   $this->db->where('referal_code', 'PoVsw0Epne');
   $query = $this->db->get('investor');
   if ($query->num_rows() > 0) {
       foreach ($query->result() as $row) {
            $data[] = $row;
       }
       return $data;
    }
}



在我的controller

public function get_all()
{
    $data = array();
    $data['title'] = "Rewards";
    $data["data"] = $this->investor->get_all_investor();
    $data["get_all_flevel"] = $this->investor->get_all_first_level();
    $data["referrals"] = $this->investor->get_same_referral_code();
    $this->template->load('default_layout','contents','rewards',$data);
}


我在我的view上这样称呼它

<?php

    echo ($referrals[0][id]);
    echo ($referrals[0][firstname]);
    echo ($referrals[0][referal_code]);
    echo ($referrals[0][referral_link]);

?>



我的预期结果应该是这样的

php - 使用codeigniter获取数据库上具有相同值的列-LMLPHP

有人可以帮我吗。

编辑

我再次尝试过这种方式来得到我想要的东西。

首先,我尝试获取所有referal_code

public function get_same_referral_code()
    {
        $this->db->select('referal_code');
        $query = $this->db->get('investor');
        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $data[] = $row;
            }
            return $data;
        }
    }


现在我将使用此方法get_same_referral_code()检查
referral_linkreferal_code上具有相同的值

public function get_same_referral_link()
    {
        $this->db->select('referral_link');
        $this->db->where('referral_link','get_same_referral_code();');
        $query = $this->db->get('investor');
        if($query->num_rows() > 0)
        {
            foreach($query->result() as $row)
            {
                $data[] = $row;
            }
            return $data;
        }
    }


但问题是我现在收到此错误


  消息:为foreach()提供了无效的参数

最佳答案

我认为子查询将为您提供帮助

$SQL= "SELECT * FROM tableName WHERE referal_code EXISTS (SELECT DISTINCT Referral_Link FROM tableName)";
$query = $this->db->query($SQL);
return $query->result_array();


要么

$SQL= "SELECT * FROM investor WHERE referral_link IN (SELECT DISTINCT referal_code FROM investor)";
$query = $this->db->query($SQL);
return $query->result_array();

关于php - 使用codeigniter获取数据库上具有相同值的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58262852/

10-13 03:18