2015-11-02 83 views
1

我有这个php脚本,在页面上的不同div中有两个选择框。 mysqli查询从数据库中检索行(数据)。我的困境是如何跳出循环,继续几行下来,我不使用两个单独的查询来获得相同的数据如何使用php中的一个mysqli查询更新两个选择框

例子:

<div class="col-lg-6"> 
    <div class="form-group"> 
     <label for="courseCode">Course Code</label> 
     <select class="form-control" name="courseCode" id="courseCode"> 
      <option>Select Course Code</option> 
       <?php 
       $sql = "select course_code,course_title from courses"; 
       $result = mysqli_query($conn, $sql); 

       if($result){ 
        $count = mysqli_num_rows($result); 
        if($count > 0){ 
         for($i=0; $i < $count; $i++){ 

         while($row = mysqli_fetch_assoc($result)){ 
         $course_code = $row['course_code']; 
         $course_title =$row['course_title']; 
         echo' 
         <option value="'.$course_code.'">'.$course_code.'</option>'; 
         }  
        } 
        } 
       } 
       ?> 
     </select> 
    </div> 
</div> 

$ course_code成功地从数据库中填充。

问题是我如何跳转下面的html,所以这个循环继续,$ course_title也使用上面的脚本填充,我不必再次写上面的代码。

<div class="col-lg-6"> 
    <div class="form-group"> 
    <label for="courseTitle">Course Title</label> 
     <select class="form-control" name="courseTitle" id="courseTitle"> 
      <option>Select Course Title</option> 
      <?php 
       echo'<option value="'.$course_title.'">'.$course_title.'</option>'; ?> 
      </select> 
      </div> 
    </div> 

注意:course_code和course_title只是课程表中的行。 任何帮助将不胜感激。谢谢

回答

0

只需将数据收集步出HTML,并使其建立2个变量,你后来在HTML用一个简单的echo

<?php 
    $dd1 = ''; 
    $dd2 = ''; 

    $sql = "select course_code,course_title from courses"; 
    $result = mysqli_query($conn, $sql); 

    if($result){ 
     if(mysqli_num_rows($result) > 0){ 
      while($row = mysqli_fetch_assoc($result)){ 
       $dd1 .= '<option value="'.$row['course_code'].'">'.$row['course_code'].'</option>'; 
       $dd2 .= '<option value="'.$row['course_title'].'">'.$row['course_title'].'</option>'; 

      }  
     } 
    } 
?> 

<div class="col-lg-6"> 
    <div class="form-group"> 
     <label for="courseCode">Course Code</label> 
     <select class="form-control" name="courseCode" id="courseCode"> 
      <option>Select Course Code</option> 
      <?php echo $dd1; ?> 
     </select> 
    </div> 
</div> 

<div class="col-lg-6"> 
    <div class="form-group"> 
    <label for="courseTitle">Course Title</label> 
     <select class="form-control" name="courseTitle" id="courseTitle"> 
      <option>Select Course Title</option> 
      <?php echo $dd2; ?> 
     </select> 
    </div> 
</div> 
+0

感谢您的答案使用,但现在它只是显示最后一个。不通过循环 –

+0

对不起,我的TYPO再次检查代码,现在它加载'$ dd1'和'$ dd2' – RiggsFolly

+0

突然,但仍然是相同的东西。它只显示d表中的最后一项,并且不循环全部 –