2017-11-22 2 views
0

시간 테이블을 만들고 싶습니다. 선택란에서 데이터베이스의 제목 이름과 확인란의 교사 이름을 가져와야합니다. 다음 코드를 사용하고 있지만 그것은 단 하나의 행을 제공합니다. 나는 내가 어디에서 실수하고 있는지 모른다.While 루프 내에서 루프 사용

<table width="100%"> 
    <tr> 
    <th>Select Subject</th> 
    <th>Period Time</th> 
    <th>Teacher</th> 
    </tr> 
<?php 
    $query = mysqli_query($conn, "select * from subjects"); 
    while ($row = mysqli_fetch_array($query)) 
    { 
    $subject_id = $row['subject_id']; 
    $subject_name = $row['subject_name']; 
    echo "<tr> 


    <td><input type='checkbox' name='subject_id' value='$subject_id'> $subject_name</td> 
    <td> 
    <div class='form-group'> 
    <select name='class_time' class='form-control'> 
    <option>10:00</option> 
    <option>11:00</option> 
    <option>12:00</option> 
    <option>01:00</option> 
    </select> 
    </div> 
    </td> 
    <td> 
    <div class='form-group'> 
     <select name='employee_id' class='form-control'>"; 
     $query = mysqli_query($conn, "select * from employees where designation = 'Teacher' OR designation = 'Principal'"); 
     while ($row = mysqli_fetch_array($query)) 
     { 
     $employee_id = $row['employee_id']; 
     $employee_name = $row['employee_name']; 
     echo " 
     <option>$employee_name</option>"; 
     } 
     echo "</select></div> 
     </td> 
     </tr>"; 
    } 

    ?> 

</table> 

답변

2

당신이 가진 문제는 당신이 두 쿼리에 대해 동일한 변수 이름 $query을 사용하고, 그래서 두 번째는 첫 번째가 덮어 쓰기 때문이다. 두 번째로 $empQuery 또는 그 밖의 다른 문자를 사용해보십시오. ($row과 동일>$empRow)

+0

예. 현재 작동 중입니다. 고맙습니다. – Imran