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

如何从SQL的ads_listing表查询数据生成带slug的标题链接

实现代码

<?php
$user = 'myuser';
$pass = 'mypass';

try {
    $dbh = new PDO('mysql:host=localhost;dbname=mybase', $user, $pass);
    // 设置PDO默认返回关联数组,过滤冗余数字索引
    $dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    // 一次查询同时取标题和slug,随机取10条数据
    $query = $dbh->query("SELECT title, slug FROM ads_listing ORDER BY RAND() LIMIT 10");
    
    $linkList = [];
    foreach ($query as $item) {
        // 按要求拼接链接格式
        $linkList[] = "<a href=\"https://www.example.com/{$item['slug']}\" rel=\"nofollow noreferrer\">{$item['title']}</a>";
    }
    // 用顿号拼接所有链接输出
    echo implode('、', $linkList);

    $dbh = null;
} catch (PDOException $e) {
    print "ERROR!:" . $e->getMessage() . "<br/>";
    die();
}
?>

核心修改说明

  • 合并了原代码中两次分离的查询,一次同时获取title和slug两个字段,避免数据错位问题,同时降低数据库查询开销
  • 通过SQL语句ORDER BY RAND() LIMIT 10直接实现随机取10条数据的需求
  • 修复了原代码中第一个foreach末尾多余分号导致的空循环问题,避免变量取值异常
  • 遍历查询结果时直接按照需求格式拼接链接,最后用顿号拼接输出,完全匹配你要的展示效果

内容的提问来源于stack exchange,提问作者Benjamin D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 11:06:07