在基于条件的查询中使用if-else条件时,如何在PHP CODEIGNITER的视图中获得该值

在基于条件的查询中使用if-else条件时,如何在PHP CODEIGNITER的视图中获得该值,php,codeigniter,Php,Codeigniter,我对mysql中的这个问题感到困惑,我有两个表,“A”和“B” 从这个表中我将得到值,从表中我将检查 if (status == 1) { run tableA; } else { run table b; } 我不知道这个查询的返回结果。在视图中,如何使用受尊重的列名获取值。我不知道这一点,帮助我获得价值观 public function contDetails($id){ $check = $this->db->query("SELECT contac

我对mysql中的这个问题感到困惑,我有两个表,“A”和“B”

从这个表中我将得到值,从表中我将检查

if (status == 1)
{
  run tableA;
}
else
{
  run table b;
} 
我不知道这个查询的返回结果。在视图中,如何使用受尊重的列名获取值。我不知道这一点,帮助我获得价值观

public function contDetails($id){
        $check = $this->db->query("SELECT contact_status FROM account WHERE id = '$id' ");
        $str = $check->row();
        $chk = $str->contact_status;

        if($chk == 1){
            $query = $this->db->query("SELECT * FROM account WHERE id = '$id'");
        }else{
            $query = $this->db->query("SELECT * FROM contact_details WHERE user_id = '$id'");
        }

        $run = $query->num_rows();

        print_r($run);

    }

您可以在模型中使用

$query = $this->db->get(); //---  run the query  ---//
return $query->result() //---  to get result in array of object  ---//
然后在您的视图中使用foreach循环

foreach($results as $result){
 echo $result->columnName;
}

您已经在mysql中编写了查询了吗?如果是,并且您关心要使用的列名是否存在,那么您可以在视图中使用isset…

,您可以使用如下方式:

     <?php

      foreach($results as $result)
      {
          echo (isset($result['col1']))?$result['col1']:$result['col1_2'];
      }


     ?>


不要忘了在控制器中使用result_array()而不是result

谢谢你的回答,假设TableB运行意味着我有不同的colunName,在这种情况下,我如何区分表(列名),对于示例,我将上传我的代码see it friend。对于这种情况,你可以设置一个标志,如果要从表1中获取值,请设置$flag='table1'否则$flag='table2',然后将此标志返回到视图,然后在视图中检查if else条件下的标志值,就像在控制器中所做的那样。。也许这能帮到你谢谢mansoor,我在两个查询中设置了一个标志separated in veiw取决于设置标志。我得到了答案,谢谢
     <?php

      foreach($results as $result)
      {
          echo (isset($result['col1']))?$result['col1']:$result['col1_2'];
      }


     ?>