PHP代码不会迭代到while循环中的下一个数据变量(使用bootstrap)

时间:2017-03-03 20:27:10

标签: php twitter-bootstrap while-loop echo bootstrap-modal

我正在尝试从我的PHP代码中获取结果,该代码将遍历SQL数据库,创建一个名称,标题和电话号码的表(在Bootstrap中),并且每次点击后,每个名称都会触发一个模式显示名称,照片和小型生物。这些都将通过变量赋值循环中的变量进行回显。

我当前遇到的问题是,虽然模态本身在点击时起作用,但模态标题只显示数据库中显示的第一个名称,无论我在表格中点击什么名称。我试图移动echo(“$ last_name,$ first_name”)赋值无效。如何让while循环考虑表中的其余名称并迭代到SQL数据库中的那些数据?

     //Displays results from query (if valid)
if ($result->num_rows > 0) {
  while ($row = $result->fetch_assoc()) {
    $id           = $row["ID"];
    $last_name    = $row["last_name"];
    $first_name   = $row["first_name"];
    $job_title    = $row["job_title"];
    $phone_number = $row["phone_number"];
    $snetid       = $row["netid"];
?>
                                <tr>
                                    <td>
    <a data-toggle="modal" href="#picbio">
                                        <?php

     alphabeticAnchorId($last, $last_name);
     echo "$last_name, $first_name";                                        

?>
                                        </a>
<div id="picbio" class="modal fade" aria-hidden="true" style="display: none;">
<div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header"><button aria-hidden="true" class="close" data-dismiss="modal" type="button">×</button>

        <h4 class="modal-title"><?php echo "$first_name, $last_name"; ?></h4>
      </div>

      <div class="modal-body"><img src="empty_profile.gif" width="200px" height="200px" alt="Pic goes here"><br>
        <a href="mail goes here" target="_blank"><i class="fa fa-envelope"></i>&nbsp; Mail</a>

        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum in scelerisque elit, vel dictum justo. Nunc sit amet quam et justo tincidunt varius. Morbi tellus leo, hendrerit sit amet pellentesque quis, placerat eu libero. Quisque commodo, justo eget eleifend ultrices, tellus sem dignissim ipsum, sit amet suscipit massa massa eget eros. Donec tristique libero mi, id sagittis risus fermentum vel. Curabitur scelerisque lorem ut massa feugiat dignissim. Sed nec tortor vel eros accumsan egestas sed quis nulla. Curabitur a eros nec velit volutpat lobortis. Quisque a consequat elit. Aliquam gravida eros velit, in varius tellus dictum sit amet. Fusce id ex elit. </p>
      </div>

1 个答案:

答案 0 :(得分:2)

作为David stated in the comments,您需要为每个模态提供唯一的HTML ID,以便链接知道要打开哪个模式。此外,同名的多个ID在HTML中无效。您可以使用已有的$id变量使HTML ID唯一。因此,模态的开始标记如下所示:

<div id="picbio-<?php echo $id; ?>" class="modal fade" aria-hidden="true" style="display: none;">

你打开模态的链接看起来像这样:

<a data-toggle="modal" href="#picbio-<?php echo $id; ?>">

匹配新的模态ID。