ecshop后台分页方法(原创可用)

本教程详细介绍了如何在ECShop后台实现分页功能。首先,将数据传入模板进行分页处理,接着在PHP页面引入并替换相应的数据库查询。然后,在模板页设置特定的div id以配合JavaScript进行分页操作。最后,确保正确的if判断和div结构,以完成分页显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步

/*------------------------------------------------------ */
//-- 列出会员关系
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'list')
{
    $links = $db->getAll("SELECT * FROM " .$ecs->table('user_link'));
    $smarty->assign('user_links',$links);
    if(!empty($links)) {
        $id = array();
        $id[0] = $links[0]['mem_one'];
        $id[1] = $links[0]['mem_two'];
        $id[2] = $links[0]['mem_three'];
        for ($i = 0; $i < count($id); $i++) {
            $ranks[] = $db->getOne("SELECT user_name FROM " . $ecs->table('users') . "where user_id = " . $id[$i]);
        }

        $smarty->assign('user_ranks', $ranks);
    }
    //分页
    $user_list = user_list();
    $smarty->assign('user_links',    $user_list['user_list']);
    $smarty->assign('filter',       $user_list['filter']);
    $smarty->assign('record_count', $user_list['record_count']);
    $smarty->assign('page_count',   $user_list['page_count']);
    assign_query_info();

    $smarty->assign('full_page',    1);
    $smarty->display('user_link_list.htm');
}

按上图所示 user_links是要传到模板进行分页的内容 ,这里楼主由于偷懒所以没有改

$smarty->assign('user_links',    $user_list['user_list']);

user_links就是你要传到模板进行分页的内容


修改---插一部

/**
 *  返回用户列表数据
 *
 * @access  public
 * @param
 *
 * @return void
 */
function user_list()
{
    $result = get_filter();
    if ($result === false)
    {

        $filter['record_count'] = $GLOBALS['db']->getOne("SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('user_link'));

        /* 分页大小 */
        $filter = page_and_size($filter);
        $sql = "SELECT id, mem_one, comm_one, mem_two, comm_two, mem_three, comm_three".
            " FROM " . $GLOBALS['ecs']->table('user_link') .
            " LIMIT " . $filter['start'] . ',' . $filter['page_size'];

        $filter['keywords'] = stripslashes($filter['keywords']);
        set_filter($filter, $sql);
    }
    else
    {
        $sql    = $result['sql'];
        $filter = $result['filter'];
    }

    $user_list = $GLOBALS['db']->getAll($sql);

    $count = count($user_list);
    for ($i=0; $i<$count; $i++)
    {
        $user_list[$i]['reg_time'] = local_date($GLOBALS['_CFG']['date_format'], $user_list[$i]['reg_time']);
    }

    $arr = array('user_list' => $user_list, 'filter' => $filter,
        'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']);

    return $arr;
}

在本页面找一个地方把他放进去吧,里边的数据库要换成自己的哦,要不然你的数据库不能取出来数据就惨了....

第二部:::!!!



/*------------------------------------------------------ */
//-- ajax返回用户列表
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'query')
{
    $user_list = user_list();

    $smarty->assign('user_list',    $user_list['user_list']);
    $smarty->assign('filter',       $user_list['filter']);
    $smarty->assign('record_count', $user_list['record_count']);
    $smarty->assign('page_count',   $user_list['page_count']);

    $sort_flag  = sort_flag($user_list['filter']);
    $smarty->assign($sort_flag['tag'], $sort_flag['img']);

    make_json_result($smarty->fetch('users_list.htm'), '', array('filter' => $user_list['filter'], 'page_count' => $user_list['page_count']));
}

在本页面随便找个地方把他粘贴上 注意这个时候


$smarty->assign('user_list',    $user_list['user_list']);

这个user_list你得改成你要传的值 应该与上面的user_links一样 我就不改了  你们凑合看


第三步::

在你要分页的模板页


{if $full_page}
<!-- $Id: link_list.htm 17053 2010-03-15 06:50:26Z sxc_shop $ -->
{include file="pageheader.htm"}
{insert_scripts files="../js/utils.js,listtable.js"}
<a href="user_link_mine.php?act=add">新增关系</a>
        <br>
<!-- start users list -->
<div class="list-div" id="listDiv">
    {/if}

这里的重点是


<div class="list-div" id="listDiv">
    {/if}

这个div id一定要写这个  不然javascript会给你一个华丽丽的弹窗

然后{/if}与上边的if判断对应 在这儿让他先停止判断就行

然后 不要以为楼主忘了写div的关闭标签  是现在真的不能写

这个div中你要包住你要分页的内容页

然后------------------->


    <tr>
        <td colspan="2">
            <input type="hidden" name="act" value="batch_remove" />
        <td align="right" nowrap="true" colspan="8">
            {include file="page.htm"}
        </td>
    </tr>
</table>

    {if $full_page}
</div>

这块 这里边的标签你最好不要换  因为我没有试过换了他 最下边 再次开启if判断模式 然后就是华丽丽的div闭合标签

到这里就完事儿了  丶大家成功

(手打好累 ,有转的朋友麻烦带上我的csdn链接 谢谢)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值