首页 > 解决方案 > 锚标记在 while 循环中仅应用一次

问题描述

我一直在尝试建立一个网站,如果用户转到我网站的特定页面,用户将能够看到与用户电子邮件相对应的消息,并且用户将能够单击整个表格进行查看整个消息本身,但是锚标记在整个 while 循环中仅包装一次,所以我得到了一系列表,其中只有一个可单击的表 我应该如何在每个 while 循环中将每个表包装在锚标记内?

我已经尝试在每个单独的表格行上设置锚标记,但同样的事情仍然发生,它只应用于第一个表格

$sql = "SELECT user_email, username, departmentSent, subject, report FROM userissues";
$result = $conn->query($sql);


if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {

            if($row["departmentSent"] ==    $useremail=$_SESSION['user_email']){
                echo '<a href="#">
                <table border="1" style="margin-left: 162px; width: 300px; float: left; height: 50px;">
                <tr><td>'.$row["user_email"].'</td></tr><br>
                <tr><td>'.$row["subject"].'</td></tr><br>
                <tr><td> '.$row["report"].'</td></tr><br><br></a>';

            }else{
                echo'<p style="margin-left: 162px; width: 300px; float: left; height: 50px;" >there are no email that correspond to this email</p>';
                break;
            }
    }
    echo "</table>";
} else {
    echo "0 results";
}
$conn->close();
?>

我希望用户实际上能够单击打印的每个表格

标签: php

解决方案


您应该</table>在关闭锚标记之前关闭</a>

在 while 循环结束后删除此行echo </table>

</table>之前添加</a>

像这样:<tr><td> '.$row["report"].'</td></tr><br><br></table></a>

这是因为 DOM 自动调整,您在哪里开始制作多个表格但关闭它们一次,因此它会移除锚点并将它们放在表格的末尾以进行自动调整。

希望这使它工作。


推荐阅读