千家信息网

phpcms V9如何调用多个模型中的最新内容

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,这篇文章将为大家详细讲解有关phpcms V9如何调用多个模型中的最新内容,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。很多时候,希望调用多个模型下的最新内容,但是
千家信息网最后更新 2025年02月07日phpcms V9如何调用多个模型中的最新内容

这篇文章将为大家详细讲解有关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

第二步:

调用的方式为:

{loop $recent $r}
  • {str_cut($r[title],54,")}
  • {/loop}{/pc}

    解释:
    红色数字是调用条数,从0开始调用8条
    蓝色数字模型ID,不是栏目的ID,多个模型用,分开

    关于"phpcms V9如何调用多个模型中的最新内容"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

    0