问题的提出:
取第2张图作为缩略图,那么内容只有1图的就没效了??
取第2张图为缩略图,但是如果内容只有一个图的话,它不会自动取第一张?
测试:
无效
代码分析:
帝国cms 中/eclass/functions.php中的函数 片段
/取第几张图片
function GetFpicToTpic($classid,$id,$num=1,$getfirsttitlespic=0,$swidth=0,$sheight=0,$fstb=1){
global $empire,$dbtbpre,$public_r,$class_r;
$pubid=ReturnInfoPubid($classid,$id);
$num=(int)$num;
$num=$num-1;
$picr=$empire->fetch1("select fileid,filename,path,id,classid,no,
fpath from {$dbtbpre}enewsfile_{$fstb} where pubid='$pubid' and type=1
order by fileid limit $num,1");
$firsttitlepic="";
分析:可见,他的意思是取上传图片中第$num条,如果没有这么多条,自然取不出来了。
解决:
function GetFpicToTpic($classid,$id,$num=1,$getfirsttitlespic=0,$swidth=0,$sheight=0,$fstb=1){
global $empire,$dbtbpre,$public_r,$class_r;
$pubid=ReturnInfoPubid($classid,$id);
$num=(int)$num;
//$num=$num-1;
//$picr=$empire->fetch1("select fileid,filename,path,id,classid,no,fpath from {$dbtbpre}enewsfile_{$fstb} where pubid='$pubid' and type=1 order by fileid limit $num,1");
$picr=$empire->fetch1("select * from (select fileid,filename,path,id,classid,no,
fpath from {$dbtbpre}enewsfile_{$fstb} where pubid='$pubid' and type=1 order by fileid limit $num ) as jiuhecai order by jiuhecai.fileid desc limit 1 ");
解释:
注释掉2行语句,修改后的意思是,取前$num个图片,倒排后取一个,这样如果图片数小于指定的编号图片时,则取最后一个。