2017-03-23 20 views
0
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; 
} 

最初のif条件では、$topfiltername == 'forapproval'が選択されていれば正常に実行されました。条件$filtertype == 'paid'が2番目に来るときは、これを$topfiltername == 'forapproval'と付け加えたいが、最初に条件else文$sql .= " WHERE isCompleted='2'";を付け加える。方法は私を助けてください。以前に選択したクエリにクエリを追加するにはどうすればよいですか?

filter

答えて

0

データベースライブラリcodeigniter.use使用している場合。 codeigniter.com/userguide3/database/query_builder.html

関連する問題