PHPCMS中GET標籤概述、 get 標籤語法、get 標籤創建工具、get 調用本系統示例、get 調用其他系統示例

一、get 標籤概述

       通俗來講,get 標籤是Phpcms定義的能直接調用數據庫裏面內容的簡單化、友好化代碼,她可調用本系統和外部數據,只有你對SQL有一定的瞭解,她就是你的絕世好劍!也就是適合熟悉SQL語句的人使用。有了她,我們打造個性化的網站,能非常方便的調用出數據庫裏面指定的內容。通過條件限制,我們可以調用出不同條件下的不同數據。

二、get標籤樣式

{get dbsource=" " sql=" "}

{/get}

三、get 標籤語法

1.get標籤屬性值必須用雙引號括起來( " " )。
例如:

{get sql=" " /}

2.get標籤必須含有結束標記,即正確get標籤必須是成對出現:整個Get標籤含有結束標記“ {/get}”,或者是“/”。

3.get標籤裏面含有的變量,數組和函數必須用“{}”包括。
例如:

{str_cut($r[title], 50)}
{$r[url]}

4.get標籤 sql語句中條數限制。( rows=" " )
例如:顯示10條信息

{get sql=" " rows="10"}
{/get}

5.get標籤 sql語句中條件限制。( where )
例如:調用欄目ID爲1的信息

{get sql="select * from phpcms_content where catid=1"}
    標題:{$r[title]} URL:{$r[url]}  
{/get}

6.get標籤 sql語句中排序。( order by )
例如:按更新日期降序(desc)排列

{get sql="select * from phpcms_content order by updatetime desc" }
    {$r[title} URL:{$r[url]}
{/get}

7.get標籤裏面嵌套php函數。(可以參考上面的第3點)
例如:格式化輸出時間戳

{date('Y-m-d', $r[updatetime])}

8.本系統數據調用(當前數據庫調用)

{get sql=""}
{/get}

或者

{get sql="" return="r"}
{/get}

9.本系統數據調用10條

{get sql="" rows="10"}
{/get}

10.同一個數據庫帳號的不同數據庫調用

{get dbname="" sql="" }
{/get}

10.同一個數據庫帳號的不同數據庫調用

{get dbname="" sql="" }
{/get}

11.不同數據庫帳號調用(不同數據源調用)

{get dbsource="" sql=""}
{/get}

12.不同數據庫帳號的不同數據庫調用

{get dbsource="" dbname="" sql="" }

{/get}

13.本系統數據調用,帶分頁

14.本系統數據調用,自定義返回變量

{get sql=" " return="v"}
   {$v[ ]}
{/get}

*get 標籤參數完整剖析

{get dbsource="數據源" dbname="數據庫" sql="SQL語句" rows="行數" return="返回變量名稱" page="$page"}
    輸出代碼(含返回變量值、數組、函數等)
{/get}

dbname="數據庫" -->
(數據庫 在添加數據源的時候需要填寫的數據庫名)
注:本系統調用(同一數據庫賬號,同一數據庫名)可以省略
sql="SQL語句" -->
SQL語句可以參考Mysql手冊,上面get 標籤語法第4、5、6點和SQL語句剖析已經提及要點
注:此參數不可以省略
rows="行數" -->
行數,例如顯示10條信息:rows="10"
注:此參數可以省略
return="返回變量名稱" -->
參考get 標籤語法第8點和第14點
注:此參數可以省略

{get sql=" " page="$page"}
{/get}
分頁:{$pages}

page="$page" -->
帶分頁
注:此參數可以省略

*SQL語句剖析

sql="select 字段 from 表名 where 條件表達式 order by 字段 desc/asc"

6條完整get 標籤代碼示例

1.調用本系統單條數據,示例(調用ID爲1的信息,標題長度不超過25個漢字,顯示更新日期):

{get sql="select * from phpcms_content where contentid=1" /}
標題:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}

2.調用本系統多條數據,示例(調用欄目ID爲1通過審覈的10條信息,標題長度不超過25個漢字,顯示更新日期):

{get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10"}
    標題:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}
{/get}

3.帶分頁,示例(調用欄目ID爲1通過審覈的10條信息,標題長度不超過25個漢字,顯示更新日期,帶分頁):

{get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" page="$page"}

標題:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}
{/get}
分頁:{$pages}

4.自定義返回變量,示例(調用欄目ID爲1通過審覈的10條信息,標題長度不超過25個漢字,顯示更新日期,返回變量爲 $v):

{get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" return="v"}
    標題:{str_cut($v[title], 50)} URL:{$v[url]} 更新日期:{date('Y-m-d', $v[updatetime])}
{/get}

5.調用同一帳號下的其他數據庫,示例(調用數據庫爲bbs,分類ID爲1的10個最新主題,主題長度不超過25個漢字,顯示更新日期):

{get dbname="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}
    主題:{str_cut($r[subject], 50)} URL:http://bbs.phpcms.cn/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d', $r[dateline])}
{/get}

6.調用外部數據,示例(調用數據源爲bbs,分類ID爲1的10個最新主題,主題長度不超過25個漢字,顯示更新日期):

{get dbsource="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}
    主題:{str_cut($r[subject], 50)} URL:http://bbs.phpcms.cn/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d', $r[dateline])}
{/get}

四、get 標籤創建工具

1、獲取get 標籤代碼

例如,剛纔我們數據源選擇“本系統”,數據表選擇“內容模型”,字段名我們顯示“ID、標題、摘要、鏈接地址、發佈時間”,條件選擇ID=1,排序按ID降序排序,勾選“是否分頁”,每頁顯示條數設置爲“10條”,然後點擊“插入”


我們就可以得到系統自動生成的get 標籤代碼,如下:


{get sql="SELECT `contentid`,`title`,`description`,`url`,`inputtime` FROM `phpcms_content` WHERE `contentid` = '1' ORDER BY `contentid` DESC"rows="10" page="$page" }
{$r[contentid]}
{$r[title]}
{$r[description]}
{$r[url]}

{$r[inputtime]}
{/get}
{$pages}

分析如下:

{get sql="SELECT `contentid`,`title`,`description`,`url`,`inputtime` FROM ` phpcms_content`" WHERE `contentid` = '1' ORDER BY   `contentid` DESC   rows="10"   page="$page" }
//條件是ID=1,排序按ID降序排序,顯示10行,帶分頁

{$r[contentid]}
// ID

{$r[title]}
//標題

{$r[description]}
//摘要

{$r[url]}
//鏈接地址

{$r[inputtime]}
//發佈時間
{/get}
{$pages}
//分頁

2、將代碼插入到模板文件

get 標籤代碼如下:
{get dbsource="discuz" sql="SELECT `author`,`subject`,`lastpost` FROM `cdb_threads` ORDER BY `lastpost` DESC" rows="3" }
{$r[author]}
{$r[subject]}
{$r[lastpost]}
{/get}



發佈了224 篇原創文章 · 獲贊 23 · 訪問量 62萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章