phpcms V9如何调用多个模型中的最新内容
短信预约 -IT技能 免费直播动态提醒
这篇文章将为大家详细讲解有关phpcms V9如何调用多个模型中的最新内容,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
很多时候,希望调用多个模型下的最新内容,但是因为V9的模型使用分表储存,使用GET来IN catid却要连表查询十分麻烦,所以使用下面的办法即可搞定:
第一步:
phpcms\libs\functions\extention.func.php
里面增加
function news($limit="",$modelid="",$where="")
{
$db=pc_base::load_model('content_model');
if((strpos($modelid,",")>=0))
{
$modelid=explode(",",$modelid);
$midarr=$dot='';
foreach($modelid as $mid)
{
$midarr=$midarr.$dot.$mid;
$dot=',';
}
$sq="`modelid` IN ({$midarr})";
}
else
{
$sq="`modelid`={$modelid}";
}
$db->table_name='v9_model';
$models=$db->select($sq,"tablename");
$sql='';
$lianhe='';
foreach($models as $name)
{
$sql=$sql.$lianhe."SELECT id,catid,title,url,inputtime FROM v9_{$name['tablename']}";
$lianhe=' UNION ALL ';
}
$time=time();
$sql=$sql." ".$where." order by inputtime desc limit ".$limit;
$allnews=$db->query($sql);
while($r = $db->fetch_array($allnews))
{
if($keyfield)
{
$key = $r[$keyfield];
$array[$key] = $r;
}
else
{
$array[] = $r;
}
}
return $array[0];
}
以上代码需要注意的是里面表前缀,这里是V9,使用的时候改成你自己的表前缀,默认是V9
第二步:
调用的方式为:
<?php $recent=news(“0,8“,”1,12“);?>
{loop $recent $r}
<li><a href=”{$r[‘url’]}” target=”_blank” title=”{$r[‘title’]}”>{str_cut($r[title],54,”)}</a></li>
{/loop}
{/pc}
解释:
红色数字是调用条数,从0开始调用8条
蓝色数字模型ID,不是栏目的ID,多个模型用,分开
关于“phpcms V9如何调用多个模型中的最新内容”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341