首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉钩
V2EX  ›  PHP

如何将输出变量值设置为多个结果?

  •  
  •   happylty · 10 天前 · 646 次点击
    现在用 phpmailer 做一个到时间自动发送邮件的程序。有个需求就是在数据库中有 name 会有重复的,但是 class 不会重复但是要在输出结果变量中检测到 name 重复的就在结果变量中有多个 class.

    数据库:
    name class teacher
    lee C1 Gebilaowang
    lee C2 Gebilaozhang

    邮件内容:
    亲爱的 %name%,你的课程有%class%,老师是 %teacher%

    实际体验效果是会发送两封邮件:
    亲爱的 lee,你的课程有 C1,老师是 Gebilaowang
    亲爱的 lee,你的课程有 C2,老师是 Gebilaozhang

    怎么合并为一封邮件:
    亲爱的 lee,你的课程有 C1,C2,老师是 Gebilaowang,Gebilaozhang

    请大神赐教。
    第 1 条附言  ·  9 天前
    还有个问题就是
    邮件会在每个 teacher 上面进行链接到个人页面,例如
    <a href="https://www.qq.com/%url%/">%teacher%</a>
    但是如果用了 GROUP_CONCAT 就会变成
    <a href="https://www.qq.com/laowang,laozhang/">gebilaowang,gebilaozhang</a>
    这就嗝儿屁了
    10 回复  |  直到 2018-12-07 18:54:19 +08:00
        1
    breadenglish   10 天前
    GROUP_CONCAT
        2
    DavidNineRoc   10 天前
    直接上图,如果不用框架,自己装一个 collection 包
    ![]( )
    ![]( )
        3
    markgor   10 天前   ♥ 1
    SELECT CONCAT('亲爱的',`name`,'你的课程有',GROUP_CONCAT(`class`),',','老师是',GROUP_CONCAT(`teacher`)) as msg FROM tbl WHERE `name` = 'lee' GROUP BY `name`;
        4
    happylty   10 天前
    @breadenglish #1
    @DavidNineRoc #2
    还有个障碍就是,如果有网址该怎么办?
        5
    happylty   10 天前
    @markgor #3 你这个怎么把字符串也给选中了?数据库里没这些玩意儿啊
        6
    hahastudio   10 天前
    如果是实际项目的话,我觉得应该是:
    亲爱的 %name%,你当前已参加如下课程:

    |课程|老师|
    |----|----|
    |%class%|%teacher%|

    除非你的那边是,如果选了 2 门课程,会是这 2 门课程的老师联合授课,不然用户怎么知道哪个课是哪个老师
        7
    happylty   10 天前
    @hahastudio #6 不是工作项目,我这是学习的过程中出现的问题,相当于毕设前的小作品吧
        8
    happylty   10 天前
    @markgor #3 还有个问题就是
    老师介绍地址<a herf="www.qq.com/?',GROUP_CONCAT(`teacher`),'/></a>')
    这样就变成 http://www.qq.com/?gebilaowang,gebilaozhang/ 了。。。
    这个怎么处理?
        9
    jininij   9 天前 via iPhone
    不要使用 group_concat。被坑过,折腾了很久。
    如果合并的项太多,输出的字符串会被截断,不会有任何错误。
    本来是个非常棒的函数,可以减少很多次查询,不知道为什么要有这个奇怪的设定。
        10
    happylty   9 天前
    @jininij #9 那我用什么?。。。我不懂啊所以来问的,你把我唯一的希望给掐灭了。。。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2941 人在线   最高记录 4019   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 10:36 · PVG 18:36 · LAX 02:36 · JFK 05:36
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1