看到論壇里很多人都在問(wèn),如果能在用戶投稿的文章后顯示該用戶的頭像,如果能在 企業(yè)用戶發(fā)布的信息 后顯示該企業(yè)的其他信息等…
其實(shí)這些功能可以用SQL標(biāo)簽來(lái)實(shí)現(xiàn)的,現(xiàn)在我們來(lái)簡(jiǎn)單的談?wù)凷QL多表查詢:
當(dāng)然在做多表查詢之間,必須要對(duì)帝國(guó)數(shù)據(jù)庫(kù)中相關(guān)表的字段及其對(duì)應(yīng)關(guān)系有大概的了解,不然是無(wú)法寫出相應(yīng)查詢語(yǔ)句的。
廢話少說(shuō),我們開(kāi)始實(shí)踐:
問(wèn)題:在信息后顯示發(fā)布該信息用戶的 頭像、QQ、MSN等相關(guān)信息
分析:
1、這樣的查詢應(yīng)該會(huì)用到ecms_news表(其他模型表名自找),和存放用戶的 真實(shí)姓名、頭像、QQ、MSN等信息的enewsmemberadd表,共2張
2、標(biāo)簽?zāi)0逯形覀冃枰玫臉?biāo)簽,一般的調(diào)用大概只需要[!---titleurl--] [!---title--] [!---newstime--] 這些,而[!---ftitle--] [!---smalltext--] [!---writer--] [!---befrom--] [!---newstext--]
這些基本很少用到,而系統(tǒng)只能允許我們調(diào)用這些內(nèi)置標(biāo)簽,所以需要在不用的標(biāo)簽內(nèi)選擇幾個(gè)來(lái)使用,選擇的數(shù)量是和你要調(diào)用的信息個(gè)數(shù)成正比的。
實(shí)例:
信息后增加所投稿用戶的 真實(shí)姓名 頭像 信息。
找到 真實(shí)姓名 頭像 分別對(duì)應(yīng) enewsmemberadd表內(nèi)truename和 userpic字段,我們挑選了 [!---writer--] [!---befrom--]標(biāo)簽來(lái)顯示它們。
開(kāi)始寫SQL,兩張表的是用USERID這個(gè)字段關(guān)聯(lián)的
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
紅色部分定義排序方式,綠色部分定義查詢記錄數(shù),自定義列表中可不定義。
標(biāo)簽?zāi)0逵涀∫?[!---writer--] [!---befrom--] 標(biāo)簽,不然 真實(shí)姓名、頭像 是不會(huì)顯示的。
如果需要可以分頁(yè)的,可以用自定義列表來(lái)調(diào)用,其他的調(diào)用大家自己思考吧。
版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: 帝國(guó)CMS SQL標(biāo)簽多表查詢