phpcmsV9呼叫多個模型中的最新內容的解決方法
很多時候,希望呼叫多個模型下的最新內容,但是因為V9的模型使用分表儲存,使用GET來IN catid卻要連表查詢十分麻煩,所以使用下面的辦法即可搞定:
第一步:
phpcmslibsfunctionsextention.func.php
裡面增加
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
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
第二步:
呼叫的方式為:
1
2
3
4
5
|
<?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,多個模型用,分開
本文轉自 gutaotao1989 51CTO部落格,原文連結:http://blog.51cto.com/taoyouth/1609769
相關文章
- PHPCMSv9呼叫多個欄目下文章的兩個辦法PHP
- 一個例項中,多個synchronized方法的呼叫synchronized
- phpcms—— 內容中的附件呼叫和新增遠端地址的呼叫PHP
- 內部呼叫@Transactional 註解的方法
- 在CSS中解決內容過長的問題CSS
- PbootCMS呼叫公司簡介等單頁內容的方法boot
- React講解 - 父元件呼叫子元件內容【更新中】React元件
- SpringBoot框架:兩個方法同時呼叫時父方法使內部方法的DataSource註解失效的解決辦法Spring Boot框架
- phpcmsv9呼叫友情連結PHP
- JavaScript中解決多瀏覽器相容性23個問題的快速解決方法JavaScript瀏覽器
- 詳解在 Python 中解析並修改XML內容的方法PythonXML
- 對於HTTP過程中POST內容加密的解決方案HTTP加密
- TensorFlow 載入多個模型的方法模型
- whatsns模板檔案中如何呼叫指定類目下的內容
- 解決react useEffect中的內容被執行兩次的問題React
- 清空listener.log檔案內容後,內容不能寫入listener.log檔案的解決方法
- HTML中關於class內容空格多類名的問題詳解HTML
- 呼叫內容生成二維碼的apiAPI
- PbootCMS呼叫指定欄目下的內容tagsboot
- 《資料安全法》最新內容解讀
- 用於新增新內容的四個 jQuery 方法jQuery
- v$lock.type中的內容解釋
- php不能呼叫sendmail發信的解決方法PHPAI
- 關於packages中多個同名程式(procedure)的呼叫Package
- pbootcms專題內容呼叫boot
- cat-合併輸出多個檔案的內容
- div中的內容居中
- 修改網頁內容的方法網頁
- 詳解C++中繼承的基本內容C++中繼繼承
- 詳細瞭解HTML標籤內容模型HTML模型
- 怎麼解決內容的原創性問題
- Win10系統搜尋設定提示找不到內容的解決方法Win10
- 讀取 jar 包中巢狀的 jar 包內容的方法JAR巢狀
- 最新的ADT沒有NDK引數的解決方法
- ArcGIS API for Silverlight 地圖中解決點眾多的簇解決方法API地圖
- 深入解析多型和方法呼叫在JVM中的實現多型JVM
- laravel 在一個控制器的方法中呼叫其他控制器中的方法Laravel
- 列印DataGridView中的內容View