首页 > 解决方案 > 在编辑从数据库循环的数据期间,如何在选择选项中获取数据?

问题描述

我的代码有问题。我正在使用模型来更新数据,但是在我的表单中有一个选择选项,当我需要填充所有数据时,我发现其中只填充了一行。如果我必须使用<?php while ($row = mysqli_fetch_array($query)) {?>. 在该选项字段中填充的所有行,但在需要填充所有数据行的列表中,它只填充一个。

<?php 
    include('../Tools/connection.php');
    $query = mysqli_query($db,"SELECT abl_atms.atmCode,abl_atms.atmID,abl_atms.branchID, abl_branch.name,abl_branch.bid
                                FROM abl_atms
                                INNER JOIN abl_branch ON abl_branch.bid = abl_atms.branchID");
    while ($row = mysqli_fetch_array($query)) {
      $id = $row['atmID'];
      $id = $row['branchID']
      ?>
        <tr>
          <td><?php echo strtoupper($row['atmID']);?></td>
          <td><?php echo ucwords($row['atmCode']).'- '.strtolower($row['name']);?></td>
          <td><?php echo strtoupper($row['name']);?></td>
          <td class="pull-right">
          <button class="btn-success btn-xs" data-toggle="modal" href="#atm<?php echo $row['atmID'];?>" 
                  data-toggle="tooltip" title="Edit">
          <i class="fa fa-pencil-square-o" aria-hidden="true"></i></button>
          <button class="btn-danger btn-xs" title="Delete" data-toggle="modal"
                href="#delete<?php echo $row['atmID'];?>" data-toggle="tooltip">
                <i class="fa fa-trash-o" aria-hidden="true"></i>
          </button>
          </td>
        </tr>
        
        
        
        <div class="modal fade" id="atm<?php echo $row['atmID'];?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="card" style="border-left: 4px solid coral">
                <div class="card-header">
                  <div class="alert alert-warning" role="alert">
                      Update Atm information
                  </div>
                </div>
                    <div class="card-body">
                        <form class="was-validated" action="abl_atms.php" method="POST">
                            <fieldset class="form-group">
                                <label for="exampleInputEmail1" class="bmd-label-static"><i class="fa fa-barcode" aria-hidden="true"></i> ATM CODE</label>
                                <input type="text" class="form-control" name="atmCode" value="<?php echo ucwords($row['atmCode']);?>" placeholder="Type ATM Identification CODE" required>
                            </fieldset>
                            <input class="form-control" name="atmID" type="hidden" value="<?php echo $row['atmID'];?>">
                            <fieldset class="form-group">
                                <label for="exampleInputEmail1" class="bmd-label-static"><i class="fa fa-snowflake-o" aria-hidden="true"></i> ATM BRANCH</label>
                                <select class="custom-select" required name="branchID">
                                    <option value="">Select Branch Name</option>
                                    <?php
                                        while ($row = mysqli_fetch_array($query)) {
                                      ?>
                                    <option value="<?php echo $row['branchID']; ?>"<?php if ($id == $row['branchID']) 
                                    { echo 'selected="selected"'; } ?>><?php echo $row['name']; ?></option> 
                                    <?php 
                                        }
                                      ?>                        
                                </select>
                            </fieldset>                            
                                <button type="submit" class="btn btn-raised btn-warning btn-block" name="editAtm">
                                  <i class="fa fa-floppy-o" aria-hidden="true"></i> Confirm & Update
                                </button>
                        </form>
                    </div>
                  </div>
                </div>
            </div>
        </div> 
        <?php 
          }
        ?>       
      </tbody>
    </table>
  </div>
  </div>
</div>

标签: phpsqlmysqli

解决方案


您可以将结果存储在数组中,然后循环遍历结果。

$query = mysqli_query($db,"SELECT abl_atms.atmCode,abl_atms.atmID,abl_atms.branchID,abl_branch.name,abl_branch.bid 
    FROM abl_atms 
    INNER JOIN abl_branch 
    ON abl_branch.bid = abl_atms.branchID");
$results = mysqli_fetch_all(MYSQLI_ASSOC);
foreach($results as $v){
    // Your Code....
    foreach($results as $vi){
        // Your Selection Options...
    }
}

推荐阅读