重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、你mysql查询代码中的 where firsttitle in (1) 这个语句的用意是表示只调用1级头条的信息,所以,你要先确认 你的news表中有 1级头条的数据,可以使用mysql工具(如phpmyadmin、navicat等)打开phome_ecms_news表来查看;
成都创新互联-专业网站定制、快速模板网站建设、高性价比泊头网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式泊头网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖泊头地区。费用合理售后完善,10年实体公司更值得信赖。
2、发现如果确实存在数据,那么要检验是不是这些1级头条的数据 的 ftitle字段(“副标题”)是否为空,如果为空则需补足;
关于eloop,建议你简化sql语句,具体参帝国官方网页链接
[ecmsinfo]0,13,32,0,3,10,0[/ecmsinfo]
调用2的信息:[ecmsinfo]2,13,32,0,0,10,0[/ecmsinfo]
你应该把后面的调用标签改下,那个3是调用全局的,0才是调用当前栏目的
?php
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]?$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的顶级栏目ID
//echo $topbclassid;
?
[e:loop={'select * from [!db.pre!]enewsclass as a right join [!db.pre!]ecms_news as b on a.classid=b.classid and a.bclassid='.$topbclassid.'',1,24,0}]
[?=$bqno?]a href="?=$bqsr[titleurl]?" target="_blank"?=$bqr[title]?/abr /
[/e:loop]
首先,我也好久没有弄过帝国了,很多东西都忘了,凭仅有的记忆和网上搜索,在6.6版本里测试了一下,以上方法是有效的。
关于[!--bclass.id--]这个标签,记得外面的[!-- --]这个是输出的意思,相当于echo吧,所以放在标签里怎么都不对了,因为它并不需要在那里输出,
其次在[!db.pre!]ecms_news数据表里的classid是本栏目id,比如你顶级栏目2下面有34,35,36,37,新闻表里只能查34,35,36,37栏目的新闻,所以你classid=[!--bclass.id--]这样写就算[!--bclass.id--]没有输出的问题也是不正确的
所以我用了联合查询的mysql,同时查栏目表和新闻表,在栏目表查出哪个栏目的父栏目id是2,得出34,35,36,37,然后去新闻表查属于这4个栏目的新闻
最上面取得当前栏目的顶级栏目ID是在网上搜的,测试过是对的,它应该比[!--bclass.id--]好吧,记得[!--bclass.id--]好像只是父栏目id,如果有3级栏目是不是就不能获取一级栏目了,我记不太清了,你可以自己测试一下2个变量的区别