首页 > 解决方案 > 我如何从两个关联的数据库表中获取一个值并插入到选择 optgroup 和选项中?

问题描述

我想了解如何从两个MySQL关系表中获取多个ID值并将其设置为select optgroup作为并将其名称作为标题?

HTML 标记:

<select name="rays_test" multiple required>
  <option value="1">MRI</option>
  <option value="2">CT Scan</option>
  <optgroup label="X-Ray">
     <option value="1">Skull</option>
     <option value="2">Wrist</option>
     <option value="3">Hip</option>
     <option value="4">Shoulder</option>
     <option value="5">Ankle</option>
     <option value="6">Chest</option>
     <option value="7">Knee</option>
     <option value="8">Spine</option>
  </optgroup>
</select>

第一次表扫描

在此处输入图像描述

第二个表scan_extra

在此处输入图像描述

扫描中的X-Ray scan_id必须 是3与表scan_extra中的列scan_id关联

我用 PHP 试试这个,但结果不是动态的或不正确的

<select name="rays_test[]" multiple required>
   <?php
      $scan = mysqli_query($connection,"SELECT * FROM scan LIMIT 2");
         while($urow = mysqli_fetch_array($scan)){
   ?>
      <option value="<?php echo $urow['scan_id']; ?>">
         <?php echo $urow['scan_title']; ?>
      </option>
   <?php
         }
   ?>

   <?php
      $scan = mysqli_query($connection,"SELECT * FROM scan ORDER BY scan_id DESC LIMIT 1;");
      $row = mysqli_fetch_assoc($scan);
   ?>

   <optgroup label="<?php echo $row['scan_title']; ?>">
      <?php 
         $scan_extra = mysqli_query($connection,"SELECT * FROM scan_extra");
            while($urow = mysqli_fetch_array($scan_extra)){
      ?>
         <option value="<?php echo $urow['extra_id']; ?>">
            <?php echo $urow['scan_test']; ?>
         </option>
      <?php
            }
      ?>
  </optgroup>                              
</select>

标签: phphtmlmysql

解决方案


推荐阅读