首頁調(diào)用會員信息(同時(shí)關(guān)聯(lián)查詢兩個(gè)表)
系統(tǒng)自帶調(diào)用的會員信息沒有附表的信息,如何處理?
同時(shí)查詢主表和附表,兩個(gè)表關(guān)聯(lián)的條件是userid
方法1、
代碼如下:
[e:loop={"select a.*,b.* from [!db.pre!]enewsmember a LEFT JOIN [!db.pre!]enewsmemberadd b ON a.userid=b.userid order by lasttime desc limit 100",100,24,0}]
會員頭像:
--
會員空間地址:=$bqr['newsurl']?>e/space/?userid==$bqr[userid]?>--
會員ID:=$bqr[userid]?>--
用戶名:=$bqr[username]?>--
注冊時(shí)間:=format_datetime($bqr[registertime],'Y-m-d H:i:s')?>--
真實(shí)姓名:=$bqr[truename]?>--
最近登陸時(shí)間:=format_datetime($bqr[lasttime],'Y-m-d H:i:s')?> --
最近登陸的IP:=$bqr[lastip]?>--
登陸次數(shù):=$bqr[loginnum]?>--
會員QQ:=$bqr[oicq]?>
[/e:loop]
很簡單的代碼[!db.pre!]
同時(shí)調(diào)用id、用戶名、真實(shí)姓名、最近登陸時(shí)間、最近登陸的IP地址還有登陸次數(shù)。
根據(jù)登陸時(shí)間的先后排列,最近登陸的在最前面。(還可以調(diào)用qq、手機(jī)等信息)
--------------------------------------------------------------------------------------------------
方法2、(和上面的相同,只是sql格式有稍微不同)
[e:loop={"select a.*,b.* from [!db.pre!]enewsmember a,[!db.pre!]enewsmemberadd b where a.userid=b.userid order by lasttime desc limit 100",100,24,0}]
會員頭像:
--
會員空間地址:=$bqr['newsurl']?>e/space/?userid==$bqr[userid]?>--
會員ID:=$bqr[userid]?>--
用戶名:=$bqr[username]?>--
注冊時(shí)間:=format_datetime($bqr[registertime],'Y-m-d H:i:s')?>--
真實(shí)姓名:=$bqr[truename]?>--
最近登陸時(shí)間:=format_datetime($bqr[lasttime],'Y-m-d H:i:s')?> --
最近登陸的IP:=$bqr[lastip]?>--
登陸次數(shù):=$bqr[loginnum]?>--
會員QQ:=$bqr[oicq]?>
[/e:loop]
--------------------------------------------------------------------------------------------------
方法3、(和上面的相同,只是sql格式有稍微不同)
[e:loop={"select [!db.pre!]enewsmember.*,[!db.pre!]enewsmemberadd.* from [!db.pre!]enewsmember,[!db.pre!]enewsmemberadd where [!db.pre!]enewsmember.userid=[!db.pre!]enewsmemberadd.userid order by lasttime desc limit 100",100,24,0}]
會員頭像:
--
會員空間地址:=$bqr['newsurl']?>e/space/?userid==$bqr[userid]?>--
會員ID:=$bqr[userid]?>--
用戶名:=$bqr[username]?>--
注冊時(shí)間:=format_datetime($bqr[registertime],'Y-m-d H:i:s')?>--
真實(shí)姓名:=$bqr[truename]?>--
最近登陸時(shí)間:=format_datetime($bqr[lasttime],'Y-m-d H:i:s')?> --
最近登陸的IP:=$bqr[lastip]?>--
登陸次數(shù):=$bqr[loginnum]?>--
會員QQ:=$bqr[oicq]?>
[/e:loop]
--------------------------------------------------------------------------------------------------
方法4、SQL標(biāo)簽研究-多表查詢
問題:在信息后顯示發(fā)布該信息用戶的 頭像、QQ、MSN等相關(guān)信息
分析:
1、這樣的查詢應(yīng)該會用到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è)來使用,選擇的數(shù)量是和你要調(diào)用的信息個(gè)數(shù)成正比的。
實(shí)例:
信息后增加所投稿用戶的 真實(shí)姓名 頭像 信息。
找到 真實(shí)姓名 頭像 分別對應(yīng) enewsmemberadd表內(nèi)truename和 userpic字段,我們挑選了 [!--writer--] [!--befrom--]標(biāo)簽來顯示它們。
開始寫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
"order by newstime desc"部分定義排序方式,"limit 100"部分定義查詢記錄數(shù),自定義列表中可不定義。
標(biāo)簽?zāi)0逵涀∫?[!--writer--] [!--befrom--] 標(biāo)簽,不然 真實(shí)姓名、頭像 是不會顯示的。
如果需要可以分頁的,可以用自定義列表來調(diào)用,其他的調(diào)用大家自己思考吧。
---------實(shí)例:-----------
排名號 |
會員名 |
頭像 |
[e:loop={'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',0,24,0}]
=$bqno?> |
=$bqr[writer]?> |
|
[/e:loop]