织梦dede:sql调取文章



织梦dede:sql调取文章





一、数据库通过自定义字段调取文章

1.常见调取方式
{dede:sql sql="SELECT * FROM dede_archives WHERE title LIKE '%~shorttitle~%'"}
<li><a href='[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]' title="[field:title/]" target="_blank">[field:title function=cn_substr(@me,40,0)/]</a></li>
{/dede:sql}

说明:
1.dede_archives 代表你的数据库表前缀
2. title 代码你要调取的数据库里面信息的自动  title 是检查标题
3. like  进行匹配 
4.%正则匹配%  匹配%中间的文字 是否有一样的 有就调取   
5.~~  中间的为你的自定义字段   自己设置

2.多个自定义字段调取文章
{dede:sql sql="SELECT * FROM dede_archives WHERE title LIKE '%~ziduan1~%' or title LIKE '%~ziduan2~%' or title LIKE '%~ziduan3~%' order by click desc limit 15 offset 1"} 

说明:
1.order by click  按点击排序
2.desc 降序 asc 正序
3.limit 15 调用15条

3.自定义字段指定id栏目随机调取文章
{dede:sql sql="SELECT * FROM dede_archives WHERE typeid=4 and title LIKE '%~diaoqu2~%'  or title not LIKE '%~ziduan3~%' order by rand() limit 8 offset 1"}

说明:
1.typeid=4 指定id栏目
2.order by rand() 随机调用
3.not 排除标题带ziduan3文章
4.channelid='17' 指定id模型
4.sql排除当前文章调取
{dede:sql sql="SELECT * FROM dede_archives WHERE title LIKE '%~变量~%' and title != '~title~' order by click desc limit 9 offset 0"}

说明:
排除标签是 and title != '~title~'     解释,数据库dede_archives表格检索title不等于当前标题的所有包含shorttitle的url
变量如果是汉字,去掉~ ~  如果是函数变量就必须加上

二、tag通过数据库调取文章

{dede:sql sql="SELECT * FROM dede_archives WHERE title like CONCAT('%',(SELECT tag FROM dede_taglist WHERE aid=~id~),'%')"}

说明:先查出tag ,再根据tag 查标题里含tag的文章



相关推荐

发表评论

路人甲
看不清楚?点图切换

网友评论(0)