如何使用PHP将SQL查询的逗号分隔结果逐行单独显示?
逗号分隔字段值逐行显示方案
直接输出数据库存储的逗号拼接字符串时,内容会按原格式整行展示,要实现每个值单独占一行,根据使用场景选对应方法即可:
简易替换方案(无额外逻辑时用)
把字符串里的逗号直接替换为对应环境的换行标识,替换你原来的<?php echo $row['cases']; ?>代码即可:
- HTML页面展示场景:替换为HTML换行标签
<?php echo str_replace(',', '<br>', $row['cases']); ?>
- 纯文本、CLI输出、接口返回场景:替换为通用换行常量
<?php echo str_replace(',', PHP_EOL, $row['cases']); ?>
数组遍历方案(需自定义内容时用)
如果后续要给单个案例号加跳转、样式、点击事件等交互,先将字符串拆为数组再循环输出,还能自动处理值前后的空格、空值导致的多余空行问题:
<?php // 拆分逗号分隔字符串,清除每个值前后空格,过滤空条目 $cases = array_filter(array_map('trim', explode(',', $row['cases']))); foreach ($cases as $caseNo) { // 可在此处自定义每个案例号的输出逻辑,比如加跳转链接 echo $caseNo . '<br>'; } ?>
KBs、Other Links字段如果也是逗号分隔的多值格式,用完全相同的逻辑处理即可实现逐行展示。
安全提示:当前SQL语句直接拼接
$id参数存在SQL注入漏洞,建议使用预处理语句执行查询,避免数据库被非法操作。
内容的提问来源于stack exchange,提问作者masok
相关产品推荐
相关产品推荐

