discuz 万能SQL查询调用语句写法

首先在最底层source\class\table写入底层安全调用文件例如:table_common_friendlink.php 

代码:

<?php



/**

 *      [Discuz!] (C)2001-2099 Comsenz Inc.

 *      This is NOT a freeware, use is subject to license terms

 *

 *      $Id: table_common_friendlink.php 27449 2012-02-01 05:32:35Z zhangguosheng $

 */



if(!defined('IN_DISCUZ')) {

    exit('Access Denied');

}



class table_common_friendlink extends discuz_table

{

    public function __construct() {



        $this->_table = 'common_friendlink';

        $this->_pk    = 'id';



        parent::__construct();

    }



    public function fetch_all_by_displayorder($type = '')

    {

        $args = array($this->_table);

        if($type) {

            $sql = 'WHERE (`type` & %s > 0)';

            $args[] = $type;

        }

        return DB::fetch_all("SELECT * FROM %t $sql ORDER BY displayorder", $args, $this->_pk);

    }

    

    public function fetch_all_by_sql($where, $order = '', $start = 0, $limit = 0, $count = 0, $alias = '') {

        $where = $where && !is_array($where) ? " WHERE $where" : '';

        if(is_array($order)) {

            $order = '';

        }

        if($count) {

            return DB::result_first('SELECT count(*) FROM '.DB::table($this->_table).'  %i %i %i '.DB::limit($start, $limit), array($alias, $where, $order));

        }

        return DB::fetch_all('SELECT * FROM '.DB::table($this->_table).' %i %i %i '.DB::limit($start, $limit), array($alias, $where, $order));

    }



}



?>

 

然后前台source\module\portal调用查询文件:portal_index.php

代码:

<?php



if(!defined('IN_DISCUZ')) {

    exit('Access Denied');

}

include_once libfile('function/portalcp'); //此处可不用。



//discuz 万能SQL查询调用语句写法

$wheresqla = " type=2 "; 

$ordera = " ORDER BY id ASC ";   

$linksa = C::t('common_friendlink') -> fetch_all_by_sql($wheresqla, $ordera, 0, 20);



  

include_once template('diy:portal/index');

?>

 

模板处template\default\portal调用文件:portalcp_index.htm

代码:

    <section class="wp d_friendlinks mtw">

        <div class="d_friendlinksbg"></div>

        <div class="d_friendlinksa">

        <!--{loop $linksa $value}-->

        <a href="http://www.juhutang.com/ $value[url]" target="_blank">$value[name]</a>

        <!--{/loop}-->

        </div>

    </section>

 

你可能感兴趣的:(discuz)