2016-09-11 5 views
-1

JOIN 문을 사용하여 어떻게 수행 할 수 있습니까? 나는 이것을 할 논리를 더 이상 생각할 수 없다. json data이 해당 쿼리로 인해 표시되지 않기 때문에이 작업을 수행하고 있습니다. 누군가가 나를 이룰 수 있습니까? 먼저 을 subj_enrolled에서 가져오고 싶습니다. 여기서 대상은 '$ 제목'과 같습니다. 그 다음에는 가져온 enroll_ref을 사용하여 lastname,firstname,middlenamestd_enrolled까지 가져 오는데 여기서는 enroll_ref과 같습니다. 이것을 달성하기 위해 어떤 방법을 사용할 것인가? 또는 JOIN은 무엇입니까?join 문을 사용하는 방법

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

변화 :

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

사용할 조인을 지정하는 방법은 데이터를 원하는 방식에 따라 다릅니다. 내부 조인이 가장 잘 작동하는 것 같습니다. –

+0

@TimmyJim 내부 조인이 작동합니다. 답을 정답으로 표시하려면 어떻게해야합니까? – nethken

답변

1

inner join를 사용

여기 내 코드

당신은 당신의 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

입니다.

내부 조인은 두 테이블간에 일치하는 모든 데이터를 반환합니다.

+0

그건 문제가 아닙니다. 죄송합니다. 코드를 복사하지 않으 셨습니다. – nethken

관련 문제