欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

discuz如何处理这种情况呢,关于数据表数据提取

程序员文章站 2022-05-29 10:37:07
...
需求是这样的:
我要在门户的首页把频道栏目循环出来,所以要在index.htm页面中做一个loop循环,即然是loop,那么肯定要给它一个数组,即存放频道栏目的数据表 portal_category,
我的疑惑有两点,
一, 如果要用系统自带的定义数据表的方法,那么,我怎么知道这个数据表定义在哪个数组中呢?
二,如果我自己定义,那么这个数组sql出来的语句我要写在哪里呢?


回复讨论(解决方案)

打开:\source\module\portal\portal_index.php
在include_once template上面添加:
$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));
echo "

";  
print_r($res);
echo "
";

访问门户首页试试

打开:\source\module\portal\portal_index.php
在include_once template上面添加:
$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));
echo "

";   
print_r($res);
echo "
";

访问门户首页试试

哦,我忘说了,我用的是discuz!x3.2版本,里面没有 include_once template
我把你说的代码加在红色位置处了,不知行吗,我打印的结果是可以的,但不知这么写 规范吗?
/-------------------------------------------------------------------------------------------


/**
* [Discuz!] (C)2001-2099 Comsenz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id: portal.php 33234 2013-05-08 04:13:19Z andyzheng $
*/

define('APPTYPEID', 4);
define('CURSCRIPT', 'portal');

require './source/class/class_core.php';
$discuz = C::app();

$cachelist = array('userapp', 'portalcategory', 'diytemplatenameportal');
$discuz->cachelist = $cachelist;
$discuz->init();

require DISCUZ_ROOT.'./source/function/function_home.php';
require DISCUZ_ROOT.'./source/function/function_portal.php';

$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));
echo "
";  
print_r($res);
echo "
";

if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block'))) $_GET['mod'] = 'index';


define('CURMODULE', $_GET['mod']);
runhooks();

$navtitle = str_replace('{bbname}', $_G['setting']['bbname'], $_G['setting']['seotitle']['portal']);
$_G['disabledwidthauto'] = 1;


require_once libfile('portal/'.$_GET['mod'], 'module');
?>

你打开的文件错了,你那个是门户的入口文件
你要写在\source\module\portal\portal_index.php文件里
echo "

";  
print_r($res);
echo "
";
这三句只是为了显示出来给你看,你在前台的模版文件中要loop的数组就是$res,数组名字自己换