您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。