设为首页收藏本站

模板库

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9111|回复: 0
打印 上一主题 下一主题

[教程] SQL标签研究-多表查询

[复制链接]
  • TA的每日心情
    无聊
    2013-6-9 09:06
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    跳转到指定楼层
    楼主
    发表于 2011-7-30 09:25:42 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    很多人问过,如果能在用户投稿的文章后显示该用户的头像,如果能在 企业用户发布的信息 后显示该企业的其他信息等…
    其实这些功能可以用SQL标签来实现的,现在我们来简单的谈谈SQL多表查询:
    当然在做多表查询之间,必须要对帝国数据库中相关表的字段及其对应关系有大概的了解,不然是无法写出相应查询语句的。
    废话少说,我们开始实践:
    问题:在信息后显示发布该信息用户的 头像、QQ、MSN等相关信息
    分析:
    1、这样的查询应该会用到ecms_news表(其他模型表名自找),和存放用户的 真实姓名、头像、QQ、MSN等信息的enewsmemberadd表,共2张
    2、标签模板中我们需要用的标签,一般的调用大概只需要[!--titleurl--] [!--title--] [!--newstime--] 这些,而[!--ftitle--] [!--smalltext--]  [!--writer--] [!--befrom--] [!--newstext--]
    这些基本很少用到,而系统只能允许我们调用这些内置标签,所以需要在不用的标签内选择几个来使用,选择的数量是和你要调用的信息个数成正比的。
    实例:
    信息后增加所投稿用户的 真实姓名 头像 信息。
    找到 真实姓名 头像 分别对应 enewsmemberadd表内truename和 userpic字段,我们挑选了 [!--writer--] [!--befrom--]标签来显示它们。
    开始写SQL,两张表的是用USERID这个字段关联的
    select a.*,b.truename as writer,b.userpic as befrom from phome_ecms_news as a LEFT JOIN phome_enewsmemberadd as b ON a.userid=b.userid order by newstime desc limit 100
    红色部分定义排序方式,绿色部分定义查询记录数,自定义列表中可不定义。
    标签模板记住要放 [!--writer--] [!--befrom--] 标签,不然 真实姓名、头像 是不会显示的。
    如果需要可以分页的,可以用自定义列表来调用,其他的调用大家自己思考吧。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|申请友链|小黑屋|手机版|Archiver|星雨网络工作室    

    GMT+8, 2026-6-10 16:22 , Processed in 0.166963 second(s), 22 queries .

    Powered by Discuz! X3.1

    © 2001-2013 站长论坛

    快速回复 返回顶部 返回列表