You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

静态HTML站点搜索功能优化:如何让页面链接与标题并列显示

解决搜索结果中页面链接与标题并列显示的问题

嘿,我来帮你搞定这个搜索结果加跳转链接的问题!你现在的核心问题是查询语句里没获取page_link字段,而且输出逻辑里也没把标题和链接关联起来,所以没法实现点击跳转。咱们一步步来改:

第一步:修改SQL查询语句

你原来的查询只选中了page_title,得把page_link也加进查询字段里,这样才能拿到跳转用的地址:

<?php 
if(isset($_GET['keywords'])) { 
    $keywords = $dbc->escape_string($_GET['keywords']); 
    // 新增page_link字段到查询结果中
    $query = $dbc->query(" 
        SELECT page_title, page_link FROM contents 
        WHERE page_contents LIKE '%{$keywords}%' OR page_title LIKE '%{$keywords}%' 
    "); 
} 
?>

第二步:输出搜索结果时关联标题与链接

接下来在展示搜索结果的部分,把每个标题用<a>标签包裹,将page_link作为跳转地址。如果需要让链接文本和标题并列显示,可以额外添加一行展示链接的代码,再用CSS调整布局:

<div class="result-count">Found <?php echo $query->num_rows; ?> results</div>
<div class="search-results">
    <?php if($query->num_rows > 0): ?>
        <?php while($row = $query->fetch_assoc()): ?>
            <div class="result-item">
                <!-- 把标题做成可点击的链接 -->
                <a href="<?php echo htmlspecialchars($row['page_link']); ?>" class="result-title">
                    <?php echo htmlspecialchars($row['page_title']); ?>
                </a>
                <!-- 额外显示链接文本,和标题并列 -->
                <span class="result-url"><?php echo htmlspecialchars($row['page_link']); ?></span>
            </div>
        <?php endwhile; ?>
    <?php else: ?>
        <p>No results found for "<?php echo htmlspecialchars($keywords); ?>"</p>
    <?php endif; ?>
</div>

小补充:用CSS实现并列布局

如果要让标题和链接文本真正并排显示,给.result-item加个Flex布局就行:

.result-item {
    display: flex;
    gap: 10px; /* 标题和链接之间的间距 */
    align-items: center;
    margin-bottom: 12px;
}
.result-url {
    color: #666;
    font-size: 14px;
}

重要提醒

记得用htmlspecialchars()转义输出的内容,这能避免XSS安全漏洞,是开发里的好习惯哦!

内容的提问来源于stack exchange,提问作者Addam B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:25:13