当单击按钮时,while循环仅显示数据库中的最后一行[以显示模式对话框]

我在模式对话框中遇到问题。当用户单击“文件”时,将出现模式对话框,并显示从数据库中获取的数据。

<?php echo '<table>'; ?>
              <tr>
                <th>
                Name
              </th>
              <th>
                File
              </th>
            </tr>

$query = "SELECT * FROM table";
              $result = mysqli_query($conn, $query);

              if (mysqli_num_rows($result) != 0) {
                while($row = mysqli_fetch_array($result)) {
                  $stu_file=$row['file_upload'];
                  $ins_file=$row['files_uploads'];
                  $name = $row['name'];
                  echo "<tr>";
                  echo "<td>" .$name. "</td>";
                  echo "<td><a href='#' data-toggle='modal' data-target='#myModal'>File</a></td>";//code this

                  echo "</tr>";
                }
             }else{
                echo "No data has been done yet!!";
             }
             ?>
              <!-- Modal -->
        <div class="modal fade" id="myModal" role="dialog">
          <div class="modal-dialog">

            <!-- Modal content-->
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Student File</h4>
              </div>
              <div class="modal-body">
                 <?php echo"<pre>".$stu_file."</pre>"?>
              </div>
              <div class="modal-header">
                <h4 class="modal-title">Instructor File</h4>
              </div>
              <div class="modal-body">
                 <?php echo"<pre>".$ins_file."</pre>"?>
              </div>
              <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
              </div>
            </div>

          </div>
        </div>
        <!-- End Modal-->

如您在上面的代码中所见,当我单击文件时,将显示模式对话框,但是$ stu_file将仅显示数据库的最后一行。当我在while循环内移动模式对话框时,它仅显示数据库的第一行。请帮助解决此问题。

谢里夫

变量$stu_file$ins_file将在循环的每次迭代中被覆盖。这样,当您到达循环的结尾并打印模式对话框时,这些变量的值就等于循环中的最后一行。此外,您只有一个模态对话,因此您的方法在这里行不通。

取而代之的是,将来自数据库的数据作为JSON对象打印在<script>标记中,并使用javascript填充必要信息的方式对话框,可能会更容易

例如,您可以使用以下内容打印出JSON ...

$data = [];
while($row = mysqli_fetch_array($result)) {
    $data[] = $row;
}
echo "<script> var myData = " . json_encode($data) . "; </script>";

现在,您还可以在data-id属性中填充与数据库中给定id或PK相对应属性,就像echo "<a href='#' data-toggle='modal' data-target='#myModal' data-id='{$row['id']}'>File</a>"在循环中那样,这样您就可以在模式的.on('show.bs.modal')回调中使用该属性从JSON数组中加载适当的数据。

有关如何使用模式回调的信息,请参阅引导文档应该是...

$('#myModal').on('show.bs.modal', function (event) {
  var button = $(event.relatedTarget) // Button that triggered the modal
  var dataId = button.data('id') // Extract info from data-* attributes
  // Now you can get the data form your JSON object
  var info = myData[dataId]; // or however you set it up
  var modal = $(this);
  modal.find('.modal-title').text('New message to ' + info);
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击按钮时显示对话框

来自分类Dev

单击按钮时显示对话框

来自分类Dev

仅数据库的最后一行在jsp页中重复显示

来自分类Dev

jQuery-UI 对话框仅显示 for 循环的最后一次迭代

来自分类Dev

for循环仅将最后一行保存在数据库中

来自分类Dev

单击按钮时不显示对话框

来自分类Dev

单击按钮中的下拉列表时显示警报对话框

来自分类Dev

单击时从行获取数据并显示到可编辑对话框

来自分类Dev

将从数据库检索的记录显示到对话框中

来自分类Dev

在统一3d中单击对象时,如何创建对话框并显示它?

来自分类Dev

单击图像按钮时如何显示警报对话框(带有“确定”按钮)?

来自分类Dev

单击按钮后无法显示警报对话框

来自分类Dev

C ++ MFC对话框-如何在列表控件中显示MySQL数据库中的项目?

来自分类Dev

C ++ MFC对话框-如何在列表控件中显示MySQL数据库中的项目?

来自分类Dev

在使用滑轨4单击按钮时显示确认对话框?

来自分类Dev

角度-单击图像时,显示带有3个单选按钮的对话框

来自分类Dev

在使用滑轨4单击按钮时显示确认对话框?

来自分类Dev

我想显示“进度”对话框,直到从Firebase数据库接收到数据为止

来自分类Dev

如何显示将数据保存到数据库成功的对话框?

来自分类Dev

Android - 仅当 AsyncTask 未完成时,才在按钮上显示进度对话框

来自分类Dev

如何在Visual Studio 2015中显示从数据库到文本框的一行

来自分类Dev

为什么我的C#代码仅显示数据库的第一行?

来自分类Dev

仅显示数组的最后一行

来自分类Dev

每次单击php中的按钮时,如何一一显示数据库中的项目

来自分类Dev

如何从ListView项目单击事件显示的对话框中的每个肯定按钮启动不同的活动

来自分类Dev

在“警告对话框”片段的同一行中设置正按钮和负按钮

来自分类Dev

使用按钮单击更新 SQLite 数据库中的一行

来自分类Dev

Firebase 数据库中仅显示最后一个元素

来自分类Dev

通过对话框更新片段列表视图中显示的数据库条目

Related 相关文章

  1. 1

    单击按钮时显示对话框

  2. 2

    单击按钮时显示对话框

  3. 3

    仅数据库的最后一行在jsp页中重复显示

  4. 4

    jQuery-UI 对话框仅显示 for 循环的最后一次迭代

  5. 5

    for循环仅将最后一行保存在数据库中

  6. 6

    单击按钮时不显示对话框

  7. 7

    单击按钮中的下拉列表时显示警报对话框

  8. 8

    单击时从行获取数据并显示到可编辑对话框

  9. 9

    将从数据库检索的记录显示到对话框中

  10. 10

    在统一3d中单击对象时,如何创建对话框并显示它?

  11. 11

    单击图像按钮时如何显示警报对话框(带有“确定”按钮)?

  12. 12

    单击按钮后无法显示警报对话框

  13. 13

    C ++ MFC对话框-如何在列表控件中显示MySQL数据库中的项目?

  14. 14

    C ++ MFC对话框-如何在列表控件中显示MySQL数据库中的项目?

  15. 15

    在使用滑轨4单击按钮时显示确认对话框?

  16. 16

    角度-单击图像时,显示带有3个单选按钮的对话框

  17. 17

    在使用滑轨4单击按钮时显示确认对话框?

  18. 18

    我想显示“进度”对话框,直到从Firebase数据库接收到数据为止

  19. 19

    如何显示将数据保存到数据库成功的对话框?

  20. 20

    Android - 仅当 AsyncTask 未完成时,才在按钮上显示进度对话框

  21. 21

    如何在Visual Studio 2015中显示从数据库到文本框的一行

  22. 22

    为什么我的C#代码仅显示数据库的第一行?

  23. 23

    仅显示数组的最后一行

  24. 24

    每次单击php中的按钮时,如何一一显示数据库中的项目

  25. 25

    如何从ListView项目单击事件显示的对话框中的每个肯定按钮启动不同的活动

  26. 26

    在“警告对话框”片段的同一行中设置正按钮和负按钮

  27. 27

    使用按钮单击更新 SQLite 数据库中的一行

  28. 28

    Firebase 数据库中仅显示最后一个元素

  29. 29

    通过对话框更新片段列表视图中显示的数据库条目

热门标签

归档