这篇文章将为大家详细讲解有关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如何调用多个模型中的最新内容”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。