Discuz! X3.2学习记录:多数据记录页面增加分页控件


    通过简单配置参数,在页面底端显示分页控件,每页显示10条记录。


运行结果:



涉及到的文件:

/gycp.php  
/source/class/table/table_gycp.php  
/source/module/gycp/gycp_publish.php    
/template/default/gycp/gycp_publish.htm    


/gycp.php:

<?php

/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *
 *      $Id: gycp.php  cuibq $
 */


define('APPTYPEID', 101);
define('CURSCRIPT', 'gycp');

require './source/class/class_core.php';

$discuz = C::app();

$discuz->reject_robot();
$modarray = array('gycp', 'gycp_publish');


$mod = getgpc('mod');
$mod = (empty($mod) || !in_array($mod, $modarray)) ? 'error' : $mod;


$discuz->init();

define('CURMODULE', $mod);


require DISCUZ_ROOT.'./source/module/gycp/gycp_publish.php';

?>

/source/class/table/table_gycp.php:

<?php

/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *      工业产品表
 *      $Id: table_gycp.php
 */

if(!defined('IN_DISCUZ')) {
	exit('Access Denied');
}

class table_gycp extends discuz_table
{
	public function __construct() {

		$this->_table = 'gycp';
		$this->_pk    = 'id';

		parent::__construct();
	}

	public function fetch_all_by_displayorder() {
		return DB::fetch_all('SELECT * FROM %t ORDER BY id DESC', array($this->_table), $this->_pk);
	}

	public function fetch_all_by_sql($start, $limit) {
		return DB::fetch_all('SELECT * FROM %t ORDER BY id DESC'.DB::limit($start, $limit), array($this->_table), $this->_pk);
	}

	//public function fetch_by_id_username($id, $username, $adminid = 1) {
		//return DB::fetch_first('SELECT * FROM %t WHERE id=%d', array($this->_table, $id, $adminid, $username));
	//}

	//public function delete_by_id_username($ids, $username, $adminid = 1) {
		//if(($ids = dintval((array)$ids, true))) {
			//DB::query('DELETE FROM %t WHERE id IN(%n)', array($this->_table, $ids, $adminid, $username), false, true);
		//}
	//}

	//public function update_displayorder_by_id_username($id, $displayorder, $username, $adminid = 1) {
		//if(($id = dintval((array)$id, true))) {
			//DB::query('UPDATE %t SET displayorder=%d WHERE id IN(%n)', array($this->_table, $displayorder, $id, $adminid, $username), false, true);
		//}
	//}

	//public function update_by_id_username($id, $data, $username, $adminid = 1) {
		//if(($id = dintval($id, true)) && $data && is_array($data)) {
			//$adminid = dintval($adminid);
			//DB::update($this->_table, $data, DB::field($this->_pk, $id).')', true);
		//}
	//}


}

?>

/source/module/gycp/gycp_publish.php:

<?php
// mod文件只能被入口文件引用,不能直接访问
if(!defined('IN_DISCUZ')) {
	exit('Access Denied');
}

require_once libfile('function/discuzcode');

// -------------------------------------------
// 分页
require_once libfile('function/home');

$perpage = 10;  
$perpage = mob_perpage($perpage);  
  
$page = empty($_GET['page'])?0:intval($_GET['page']);//页码  
if($page<1) $page = 1;  
$start = ($page-1)*$perpage;//开始记录  

ckstart($start, $perpage);//分页判断  

$count = C::t('gycp')->count();//所有记录数量
$mpurl = 'gycp.php';
// ============================================

$querydata = C::t('gycp')->fetch_all_by_sql($start, $perpage);

$queryarr = array();
foreach ($querydata as $gycp) {
	$queryarr[] = $gycp;
}

$multipage = multi($count, $perpage, $page, $mpurl); // 分页

//显示发布表单
include_once template("gycp/gycp_publish");
?>

/template/default/gycp/gycp_publish.htm:

<!--//说明: 显示公共头部模板-->
<!--{template common/header}-->
记录总数量:$count<br/>
<table class="dt mtm">  
        <!--{loop $queryarr $rec_data}-->  
        <tr>  
            <td  width="20">$rec_data[ZB]</td>   
            <td  width="30">$rec_data[LJ]</td>  
        </tr>  
        <!--{/loop}-->  
        <tr>  
			<td  width="30"></td>
            <td  width="20"><!--{if $multipage}-->$multipage<!--{/if}--></td>   
        </tr>
</table>  

<!--//说明: 显示公共尾部模板-->
<!--{template common/footer}-->










GBK 音乐盒插件由齐鲁论坛独自设计,网友可以一边访问论坛,一边欣赏音乐。 它的最大好处是:不用下载mp3和歌词; 用户的音乐可以共享,查找方便; 和论坛容为一体,个性化设定自己的音乐盒,携带方便,只要能上网就能打开音乐盒; 音乐盒有同步歌词,听唱方便。、请大家不要再问什么连续播放了,音乐盒本身就是一个可以自定义管理的盒子,是连续播放的,播放的程序是music.php,不带任何参数。 调用方式可以是这样的<a>音乐盒</a>,你可以放置在页面任何你想放的地方;很多用户只知道管理页面,里面可以试听一首歌曲,以为音乐盒就是这样的,这就大错特错了,论坛里发布的音乐是可以共享,也可以只有自己才能看到(独享),你看到的就是论坛所有用户共享的音乐,你只需要在音乐列表里点“加入”,就可以把喜欢的音乐加入到自己的音乐盒,可以放无数个。音乐盒播放程序music.php播放的就是自己的音乐盒音乐,当然是连续的,可以循环、随机、重复。 版本已经升级到3.0。 页面美化、管理完善、分页跳转、第一次安装自动添加测试音乐和系统音乐盒,改进搜索音乐以及歌词等功能。 老用户只需将下载的文件覆盖旧的就可以,另外需要将js目录下的music.js拷贝到js目录, 以前用的是javascript目录; 新用户按说明文件安装插件就可以;安装不正常用户按 说明文件排除错误就可以了。 版本已经升级到2.0。 新增功能 1、管理音乐。管理员可以管理所有音乐,管理系统音乐盒子(如果用户的音乐盒为空则自动使用系统音乐盒)。 2、请查看说明,排除错误的方法。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值