我网站上的论坛页面使用PHP创建一个表,然后使用while循环从数据库中填充它。这样可以正常工作,但我已经尝试移动锚点,从帖子的标题周围标记链接到表格中帖子的整个第一部分。为此,它将执行以下步骤:
它应该使所有第一部分的链接都可以点击,它们应该在这样的表格内:
<table> <--- *THIS IS BEFORE THE LOOP, IT GETS RUN ONCE ONLY* -->
<WHILE *do this like 5 times or something*>
<tr>
<a *category link*>
<td>
*content for the 'td' which is taken from the DB*
</td>
<td>
*content for the 'td' which is taken from the DB*
</td>
</a>
</tr>
<ENDWHILE>
</table>
然而,在实践中,它们最终会出现在桌面之外,如屏幕截图所示:
有人可以解释一下这个以及如何解决它吗?
echo '<table class="forumTable">
<tr>
<th>Category</th>
<th>Last topic</th>
</tr>';
while($row = mysqli_fetch_assoc($catResult)){
echo '<tr>';
echo '<a href="category.php?id=' . htmlspecialchars($row['catID']) . '"><td class="catDesc">';
echo '<h3>' . $row['catName'] . '</h3>' . $row['catDesc'];
echo '</td>';
echo '<td class="catTime">';
$getTops = "SELECT topicID, topicSubject, topicDate, topicCat FROM topics WHERE topicCat = " . $row['catID'] . " ORDER BY topicDate DESC LIMIT 1";
$topResult = mysqli_query($connect, $getTops);
if(!$topResult){
echo '<p style="margin-top: 75px;">The last topic could not be displayed, please try again later.</p>';
}
else{
if(mysqli_num_rows($topResult) == 0){
echo '<p>No topics</p>';
}
else{
while($topRow = mysqli_fetch_assoc($topResult)){
echo '<a href="topic.php?id=' . $topRow['topicID'] . '">' . $topRow['topicSubject'] . '</a> at ' . $topRow['topicDate'];
}
}
}
echo '</td></a>';
echo '</tr>';
}
echo '</table>';
答案 0 :(得分:1)
由于源页面确认锚点位于您放置它们的位置,但浏览器会移动它们,您可以: - 包含td表格单元格内的链接 - 使用替代方法将链接添加到您想要的位置html - table row like a link
答案 1 :(得分:-1)
您是否尝试从浏览器获取页面?看起来怎么样?
我认为浏览器不允许您在没有<a>
的情况下直接将<table>
放入<tr><td> </td></tr>