在While循环中使用循环

时间:2017-11-22 10:36:57

标签: php while-loop

我想创建时间表。需要从复选框中的数据库中获取主题名称,并在选择下拉列表中从数据库中获取教师名称。我使用以下代码,但它只给我一行。我不知道我在哪里做错了。

<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>

1 个答案:

答案 0 :(得分:2)

您遇到的问题是两个查询都使用相同的变量名$query,因此第二个会覆盖第一个。尝试使用$empQuery或其他内容替换第二个..($row相同 - &gt; $empRow