欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

get 标签调用文章

程序员文章站 2022-04-21 13:50:18
...

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])} 摘


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])}

摘要:$r[description]


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}



@7天内的点击排行榜


    {get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE updatetime>'.TIME.'-7*86400 and c.contentid=n.contentid AND c.`status`=99 and catid='$catid' '.get_sql_catid($catid).' ORDER BY n.hits DESC" rows="8"}
  1. {str_cut($r[title], 88)}

  2. {/get}

@7天内的评论排行榜


    {get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE updatetime>'.TIME.'-7*86400 and c.contentid=n.contentid AND c.`status`=99 and catid='$catid' '.get_sql_catid($catid).' ORDER BY n.comments DESC" rows="8"}
  1. {str_cut($r[title], 88)}

  2. {/get}


{get sql="SELECT * FROM `phpcms_content` a, `phpcms_c_news` b WHERE a.contentid=b.contentid AND `status`=99 AND `thumb`!='' AND a.`contentid` IN(SELECT `contentid` FROM `phpcms_content_position` WHERE `posid`='10') ".get_sql_catid($catid)." ORDER BY a.contentid DESC" rows="3"}


{/get}



    {get sql="SELECT * FROM phpcms_content c,phpcms_digg d WHERE c.contentid=d.contentid AND c.status=99 ORDER BY d.supports DESC" rows="8"}
  1. {$r[supports]}{str_cut($r[title], 88)}

  2. {/get}

@只调用新闻模型且推荐ID为7的新闻


    {get sql="SELECT * FROM phpcms_content c,phpcms_c_news n,phpcms_content_position p WHERE c.contentid=n.contentid and c.contentid=p.contentid and posid=7 and `status`=99 ORDER BY inputtime DESC" rows="6"}
  • {str_cut($r[title], 88)}

  • {/if}

@调用相关新闻
{get sql="SELECT * FROM phpcms_content c,phpcms_content_tag t WHERE c.contentid!='$contentid' and c.contentid=t.contentid and c.status=99 AND t.tag IN('.get_sql_in($r[keywords]).') ORDER BY c.contentid DESC" rows="6"}

  • {str_cut($r[title], 88)}

  • {/get}


    相对于其它CMS来说,phpcms更为专业,功能也更为强大。但,对于站长的入门要求也就稍微的高了一些。 特别是对根基比较差的站长,很多都是看的一头雾水。我个人接触PHPCMS2008 也就两周多。看了论坛的几篇教程,今天想想,我决定自己写下一些使用过程中的心得,以方便广大新手站长能够轻松入门,并打造出属于自己的网站。【前提声明:个人水平有限,有不足和不对的地方还望大家多多指教。】






    2. get常用调用方式
    我觉得这种方式的灵活性很强大。个人推荐。下面将重点说一下,get的几种常用调用方式,个人认为,做PHPCMS的模板,了解了get基本上就够用了。
    (1)调用一个栏目下的最新,带缩略图的文章,同时调用出起内容简介(多个栏目ID调用)


    {get sql="select*from phpcms_content where catid>=79 and catid
  • {str_cut($r[title], 40)}



  • {/get}


    说明: phpcms_content 这是数据库里边数据表的名称,如果你的数据表前缀进行了修改,这里也必须进行修改。如果你在安装phpcms的时候设置的为woshi_. 那么这里就应该是woshi_content
    catid>=79 and catid posids=1 文章类型为首页推荐
    status=99 文章已经通过审核
    `thumb`!='' 缩略图不为空,也就是必须要有缩略图
    {$r[url]} 内容页的地址
    {str_cut($r[title], 40)} 文章标题,长度限制为40
    {thumb($r[thumb], 110, 75)} 缩略图地址 缩略图大小限制为width=110px height=75px
    {str_cut($r[description],100) 文章简介调用 简介长度为100


    通过上面的调用及模板语句(div li ),我通过css的控制可得出如下test.gif。 具体的css部分,我们后面在讲。
    (2)调用多个栏目ID,(栏目ID为不连续ID) 也就是说我们在栏目建立初期有栏目ID75 76 77 78 79 80 81 82 83 84 85。 而在建立了其它栏目之后,我们有在这个栏目添加了一个新的栏目,产生了一个新的ID。比如ID 95. 那么我们应该怎么样使用get来调用啦?
    在(1)中我们使用了catid>=XX and catid{get sql="select*from phpcms_content where catid>=79 and catid{/get}
    如果说我们这里调用的是文章标题列表 数量为6 那么我们要在div中循环的就应该是li了。具体如下


    {get sql="select*from phpcms_content where catid>=79 and catid
  • {str_cut($r[title], 38)}

  • {/get}

    这里说明一点updatetime 的排序方式。 比如说我们想按照文章录入的时间来进行降序排列(也就是吧最新的排前面),在使用updatetime之后,我们会发现,编辑一前的文章之后,这篇文章被调用到了列表的最前面。所以updatetime是文章编辑或修改时间,如果我们不想以这种方式进行排序,而是想以文章录入时间进行降序排列,可以吧这里的updatetime改为inputtime


    (3)使用get调用 栏目名及其相对应的栏目地址
    在使用get 的sql查询时,我们通常都会查询phpcms_content这个表,在这个表里边包括了所有的文章及下载等内容信息,但栏目只有id却没有栏目名,所有的栏目信息都在 phpcms_category 这个表里边,其实打开数据库一看,我们就一目了然了。所以在调用栏目名及其地址的时候我们需要借助{str_cut($CATEGORY[$r[catid]][catname],4)} 这种方式来进行参数传递,呵呵,我索性连栏目名长度截取也加上,方便大家吧。呵呵。 有够BT ,呵呵 具体示例如下:


    {get sql="select*from phpcms_content where catid>=52 and catid
  • [{str_cut($CATEGORY[$r[catid]][catname],4)}]

    {str_cut($r[title], 38)}

  • {/get}

    这个get调用的栏目ID分别为52 53 54 55 77 78 活学活用 呵呵!
    {$CATEGORY[$r[catid]][url]} 栏目地址
    {str_cut($CATEGORY[$r[catid]][catname],4)} 栏目名 长度为4 根据自己需要调整吧~


    (4)如何调用后台设置的标题颜色???  
    其实这个东东 一点都不神秘。 只是个而已! 呵呵 接下来就直接示例吧!




    {get}部分俺就不说了,上面基本上都说了~ [{date('m-d', $r[updatetime])}] 这个地方调用的是文章日期
    在这个小部分,大家注意我标出来的蓝色代码和量个绿色代码,有人会问:为什么调用两次标题里?? 呵呵 别急 接下来告诉大家为什么。
    {if $r[style]} {str_cut($r[title], 22)}{else}{str_cut($r[title], 22)}{/if}
    其实这段代码好简单奥,有html基础地人都能看明白。{if$r[style]} 如果数据库相对应的文章的style字段不为空(也就是有内容),就生成 {str_cut($r[title], 22)} ,也就是说如果这篇文章你设置了标题颜色或者效果(加粗、斜体等),那么最终生成的html页应该是这样的
    网站标题 其实class的指是官方设置好的,这里的b是标题加粗。 其值我们在这里不深究。
    如果说在后台没有给标题加任何效果。你们生成的html就是



    调用栏目id为39并且通过审核的文章,从第二条起的连续7条信息。 这个里边就使用了上面讲的调用后台设置的标题颜色。
    简单 简单 相当的简单。 这次真的完了。 奥对了,在使用limit是 不可同时使用row ,至于为什么?你想想就明白了

    (6)如何使用get在栏目首页调用所有文章模型的文章 (这个是模型的全部)


    {get sql="SELECT contentid,catid,typeid,areaid,title,style,thumb,keywords,description,userid,updatetime,inputtime,url FROM `yimi_content` WHERE status=99 ".get_sql_catid($cid)." ORDER BY contentid DESC" rows="40"}
  • {$r[title]}

  • {/get}

    可惜是模型的全部 大家可以试验一下 给个思路 研究中...

    (7)最近发现一个问题,哪就是在get的使用过程中 大家比较困惑的是id的取值,这点是我没想到的,呵呵,所以我今天增加了栏目首页调用所有子栏目内容的说明。同时也提一下,id的另一种赋值方法。

    {get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE c.contentid=n.contentid AND c.`status`=99 and catid in (39,40,41,42,43,44,45,46,47,48,66,68,69,70,71,72,73,74,75,76) ORDER BY contentid DESC" rows="10"}

  • {$r[title]}

  • {/get}
    用哪种方法就看自己喜好吧,反正个人认为能达到目的就行。

    注意在(6)和(7)中的 `phpcms_content` 这个符号是``而不是'' 搞错了没办法执行奥

    最后编者注:其实很多人都说,你用的是get ,我不了解或者不懂那个东西。 其实我觉得,我基本上吧get使用中的大部分遇到的情况都已经列出来了,如果你愿意仔细的花点时间来看和研究,我认为应该不是一件很难的事。因为,确实真的很简单....
    本教程暂时告一段落,接下来就是div+css部分了!