帝國CMS首頁調用會員信息(兩表多表查詢)
發布時間:2019-10-14 來源:未知 瀏覽: 關鍵詞:
首頁調用會員信息(同時關聯查詢兩個表)
系統自帶調用的會員信息沒有附表的信息,如何處理?
同時查詢主表和附表,兩個表關聯的條件是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}]
會員頭像:<img src="<?=$bqr[userpic]?>" width="52" height="52" />--
會員空間地址:<?=$bqr['newsurl']?>e/space/?userid=<?=$bqr[userid]?>--
會員ID:<?=$bqr[userid]?>--
用戶名:<?=$bqr[username]?>--
注冊時間:<?=format_datetime($bqr[registertime],'Y-m-d H:i:s')?>--
真實姓名:<?=$bqr[truename]?>--
最近登陸時間:<?=format_datetime($bqr[lasttime],'Y-m-d H:i:s')?> --
最近登陸的IP:<?=$bqr[lastip]?>--
登陸次數:<?=$bqr[loginnum]?>--
會員QQ:<?=$bqr[oicq]?><br>
[/e:loop]
很簡單的代碼[!db.pre!]
同時調用id、用戶名、真實姓名、最近登陸時間、最近登陸的IP地址還有登陸次數。
根據登陸時間的先后排列,最近登陸的在最前面。(還可以調用qq、手機等信息)
--------------------------------------------------------------------------------------------------
方法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}]
會員頭像:<img src="<?=$bqr[userpic]?>" width="52" height="52" />--
會員空間地址:<?=$bqr['newsurl']?>e/space/?userid=<?=$bqr[userid]?>--
會員ID:<?=$bqr[userid]?>--
用戶名:<?=$bqr[username]?>--
注冊時間:<?=format_datetime($bqr[registertime],'Y-m-d H:i:s')?>--
真實姓名:<?=$bqr[truename]?>--
最近登陸時間:<?=format_datetime($bqr[lasttime],'Y-m-d H:i:s')?> --
最近登陸的IP:<?=$bqr[lastip]?>--
登陸次數:<?=$bqr[loginnum]?>--
會員QQ:<?=$bqr[oicq]?><br>
[/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}]
會員頭像:<img src="<?=$bqr[userpic]?>" width="52" height="52" />--
會員空間地址:<?=$bqr['newsurl']?>e/space/?userid=<?=$bqr[userid]?>--
會員ID:<?=$bqr[userid]?>--
用戶名:<?=$bqr[username]?>--
注冊時間:<?=format_datetime($bqr[registertime],'Y-m-d H:i:s')?>--
真實姓名:<?=$bqr[truename]?>--
最近登陸時間:<?=format_datetime($bqr[lasttime],'Y-m-d H:i:s')?> --
最近登陸的IP:<?=$bqr[lastip]?>--
登陸次數:<?=$bqr[loginnum]?>--
會員QQ:<?=$bqr[oicq]?><br>
[/e:loop]
--------------------------------------------------------------------------------------------------
方法4、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
“order by newstime desc”部分定義排序方式,“limit 100”部分定義查詢記錄數,自定義列表中可不定義。
標簽模板記住要放 [!--writer--] [!--befrom--] 標簽,不然 真實姓名、頭像 是不會顯示的。
如果需要可以分頁的,可以用自定義列表來調用,其他的調用大家自己思考吧。
---------實例:-----------
<table>
<tr>
<td>排名號</td>
<td>會員名</td>
<td>頭像</td>
</tr>
[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}]
<tr>
<td><?=$bqno?></td>
<td><?=$bqr[writer]?></td>
<td><img src="<?=$bqr[befrom]?>"/> </td>
</tr>
[/e:loop]
</table>
責任編輯:實速科技