2016-09-11 7 views
-1

JOINステートメントでどうすればいいですか?私はもうこれを行うための論理を考えることはできません。私はjson dataがそのクエリのために表示されないので、これをやっています。誰かが私を助けることができるこれを達成するために?まず、enroll_refsubj_enrolledから取り出したいとします。件名は '$件名'と同じです。その後、取得したenroll_refを使用して、lastname,firstname,middlenamestd_enrolledに、ここではenroll_refにフェッチします。これを達成するために私はどのような方法を使用しますか? JOINとは何ですか?joinステートメントの使い方

SELECT enroll_ref FROM subj_enrolled WHERE subj_descr = '$subject' AND section = '$section'"; 
+1

使用する結合を指定する方法は、データをどのようにしたいかによって異なります。内部結合がうまくいくように聞こえます。 –

+0

@TimmyJim内部結合が動作します。あなたの答えを正解とするにはどうすればいいですか? – nethken

答えて

1

inner joinを使用してください:へ

SELECT enroll_ref FROM subj_enrolled WHERE subj_descr '$subject' AND section = '$section'"; 

変更:ここ

はあなたのSQL文に等号を逃している私のコード

if (isset($_POST['loadstudent'])) { 
    $subject = $_POST['subject']; 
     $section = $_POST['section']; 

    $sql ="SELECT enroll_ref FROM subj_enrolled WHERE subj_descr = '$subject' AND section = '$section'"; 
      $result = mysqli_query($con, $sql); 

      while($row = mysqli_fetch_array($result)){ 
      $enroll_ref = $row['enroll_ref']; 


     $select = mysqli_query($con,"SELECT lastname,firstname,middlename FROM std_enrolled WHERE enroll_ref = '$enroll_ref'"); 

     if(mysqli_num_rows($select)){ 
      $data = array(); 
      while($row = mysqli_fetch_array($select)){ 
        $data[] = array(
         'firstname' => $row['firstname'], 
         'lastname' => $row['lastname'], 
         'middlename' => $row['middlename'] 

         ); 
      } 

      } 
         echo json_encode($data); 
      } 


} 
0

です。

内部ジョインは、2つのテーブルが一致するすべてのデータを返します。

+0

それは問題ではありません。申し訳ありません、私は自分のコードをコピーしませんでした。 – nethken

関連する問題