Php 如何将查询附加到以前选择的查询?

Php 如何将查询附加到以前选择的查询?,php,mysql,codeigniter-3,Php,Mysql,Codeigniter 3,在第一个条件中,如果选择了条件$topfiltername=='forapproval',则正确执行该条件。当谈到第二个if条件时,$filtertype=='paid',我想用$topfiltername=='forapproval',将它附加到第一个if条件else语句$sql.=“WHERE isCompleted='2'。怎么办请帮帮我 如果您使用的是codeigniter。请使用数据库库。 codeigniter.com/userguide3/database/query_builde

在第一个条件中,如果选择了条件
$topfiltername=='forapproval'
,则正确执行该条件。当谈到第二个if条件时,
$filtertype=='paid'
,我想用
$topfiltername=='forapproval'
,将它附加到第一个if条件else语句
$sql.=“WHERE isCompleted='2'。怎么办请帮帮我


如果您使用的是codeigniter。请使用数据库库。 codeigniter.com/userguide3/database/query_builder.html

public function gettopfilteredcourse($filtertype, $topfiltername, $filterid){
    $sql="SELECT * FROM course c
          INNER JOIN category s
          ON c.categoryId=s.categoryId
          INNER JOIN users u
          ON c.userId=u.userId";

  if($topfiltername == 'trash'){
     $sql .= " WHERE isCompleted='3'";
  } else if($topfiltername == 'forapproval'){
     $sql .= " WHERE isCompleted='1'";
  } else if($topfiltername == 'drafts'){
     $sql .= " WHERE isDraft='1'";
  } else {
     $sql .= " WHERE isCompleted='2'";
  }

  if($filtertype == 'free'){
     $sql .= " AND c.fee=''";
  } else if($filtertype == 'paid'){
     $sql .= " AND c.fee!=''";
  } else {
     $sql .= " AND c.categoryId='$filterid' ";
  } 
   $query=$this->db->query($sql);
   return $query;
}