> php教程 > php手册 > get 标签调用文章

get 标签调用文章

WBOY
풀어 주다: 2016-06-06 20:00:57
원래의
1120명이 탐색했습니다.

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部分了!

    관련 라벨:
    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 추천
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿