看到論壇里很多人都在問,如果能在用戶投稿的文章后顯示該用戶的頭像,如果能在 企業用戶發布的信息 后顯示該企業的其他信息等…
其實這些功能可以用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–] 標簽,不然 真實姓名、頭像 是不會顯示的。
如果需要可以分頁的,可以用自定義列表來調用,其他的調用大家自己思考吧。
|
新聞熱點
疑難解答