2017-12-23 19 views
0

私は、2つのテーブルから複数のデータをフェッチしているCIのカスタムクエリを持っています。複数のパラメータがget要求を使用して解析される検索メカニズムを実装しています。検索パラメータの基礎!joinでwhere句の配列を渡す

これが働いている私のクエリであり、それは句

return $this->db->query('Select t1.id,t1.course_name,t1.course_duration,t1.course_price,t1.course_category, t2.first_name , t2.last_name , t2.email 
          from teacher_courses as t1 LEFT JOIN teacher as t2 on t1.teacher_id=t2.id  
         ')->result_array(); 

は今、クエリがまったく同じで私だけで検索パラメータに基づいてデータを取り出す入力したい残る場所をいずれも含みません句

は、これは私のコントローラ内部の

http://localhost/online-learning/Home/courses?courses=1-3&teacher=1 

私はこの

ような何かをやっている私のURLの形式はここで今すぐデータをので、どのように私は私の参加し、クエリのWHERE句で、この配列を渡すん

Array 
(
    [courses] => Array 
     (
      [0] => 1 
      [1] => 3 
     ) 

    [teacher] => Array 
     (
      [0] => 1 
     ) 

) 

の形で取得され

if(isset($_GET['courses'])){ 
      (isset($_GET['courses'])) ? $get['courses']=explode('-', $_GET['courses']) :""; 
      (isset($_GET['teacher'])) ? $get['teacher']=explode('-', $_GET['teacher']) :""; 
      echo "<pre>"; 
      print_r($get); 

     } 

答えて

2
$courses = implode(',', $array['courses']); 
$teacher = implode(',', $array['teacher']); 
return $this->db->query('Select 
t1.id,t1.course_name,t1.course_duration,t1.course_price,t1.course_category, 
t2.first_name , t2.last_name , t2.email 
from teacher_courses as t1 
LEFT JOIN teacher as t2 on t1.teacher_id=t2.id WHERE course_id IN ($courses) AND teacher_id IN ($teacher)')->result_array(); 
+0

perfect haziq bhai!良い仕事を続けてください:) –

関連する問題