drupal 连表查询+分页

复制代码
$query = db_select('Table','t');
     $query->join('Table_A','a','on条件);
     $query->join('Table_B','b','on条件'); 
    
     $objects=$query->extend('PagerDefault')//重要,extend('PagerDefault')实现分页
     ->fields('t', array( 'colname_1','colname_2')) 
     ->fields('b', array( 'colname_1','colname_2')) 
      ->fields('b', array( 'colname_1','colname_2')) 
->condition('t.status',1) ->condition('a.status',1)
->orderBy('n.created','DESC') ->limit(1) -> execute() ;

$output="";
$rows = array();

$title_length=25;

foreach ($objects as $key => $object)
{

$row = array();

$title="";

if (strlen($object -> filename)>$title_length) {

   $title= drupal_substr($object -> filename,0,50).'...' ;//最多显示12个字
}
else { $title= $object -> filename ;//最多显示12个字 }
$url_head='http://'.$_SERVER['HTTP_HOST'].'/drupal755/sites/default/files/';

$url=$url_head.ltrim($object->uri,'public://');

$row['title']=l($object -> filename,$url);

$row['created']=date('Y-m-d',$object->created); $rows[] = $row;
}

$results=$rows;

$output .= theme('table', array('rows' => $rows));

$output .= theme('pager'); return $output;
复制代码

 

posted @   jiafeng  阅读(676)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示