关于ECSHOP的会员列表问题,请高手忙一下。

xmhdq 2012-02-14 12:18:58
1。这个ECSHOP后台,列表所有会员的语句。
/*------------------------------------------------------ */
//-- 用户帐号列表
/*------------------------------------------------------ */

if ($_REQUEST['act'] == 'list')
{
/* 检查权限 */
admin_priv('users_manage');
$sql = "SELECT rank_id, rank_name, min_points FROM ".$ecs->table('user_rank')." ORDER BY min_points ASC ";
$rs = $db->query($sql);
$ranks = array();
while ($row = $db->FetchRow($rs))
{
$ranks[$row['rank_id']] = $row['rank_name'];

}
/* 列出管理员列表 */
$sq2 = 'SELECT user_id, user_name FROM ' . $ecs->table('admin_user');
$sq2 .= ' ORDER BY user_id';

$res = $db->query($sq2);
$user_admins = array();
while ($row = $db->FetchRow($res))
{
$user_admins[$row['user_id']] = $row['user_name'];
$admin_name[$row['user_name']] = $row['user_id'];
}
$smarty->assign('useradmins', $user_admins);
$smarty->assign('adminname', $admin_name);

/* 列出管理员列表 END */
$smarty->assign('user_ranks', $ranks);
$smarty->assign('ur_here', $_LANG['03_users_list']);
$smarty->assign('action_link', array('text' => $_LANG['04_users_add'], 'href'=>'users.php?act=add'));

$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']);
$smarty->assign('full_page', 1);
$smarty->assign('sort_user_id', '<img src="images/sort_desc.gif">');

assign_query_info();
$smarty->display('users_list.htm');
}


2.这是USER_LIST函数



/**
* 返回用户列表数据
*
* @access public
* @param
*
* @return void
*/
function user_list()
{
$result = get_filter();
if ($result === false)
{
/* 过滤条件 */
$filter['keywords'] = empty($_REQUEST['keywords']) ? '' : trim($_REQUEST['keywords']);
if (isset($_REQUEST['is_ajax']) && $_REQUEST['is_ajax'] == 1)
{
$filter['keywords'] = json_str_iconv($filter['keywords']);
}
$filter['rank'] = empty($_REQUEST['rank']) ? 0 : intval($_REQUEST['rank']);
$filter['user_admin'] = empty($_REQUEST['user_admin']) ? 0 : intval($_REQUEST['user_admin']);
$filter['pay_points_gt'] = empty($_REQUEST['pay_points_gt']) ? 0 : intval($_REQUEST['pay_points_gt']);
$filter['pay_points_lt'] = empty($_REQUEST['pay_points_lt']) ? 0 : intval($_REQUEST['pay_points_lt']);

$filter['sort_by'] = empty($_REQUEST['sort_by']) ? 'user_id' : trim($_REQUEST['sort_by']);
$filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' : trim($_REQUEST['sort_order']);

/* 会员所属管理员 */

$sql = "SELECT user_admin FROM ".$GLOBALS['ecs']->table('users')." WHERE user_admin = '$_SESSION[admin_id]'";
$row = $GLOBALS['db']->getRow($sql);

if ($row['user_admin'] > 1 )
{

$ex_where =" WHERE user_admin = '$_SESSION[admin_id]' ";
}
else
{
$ex_where =" WHERE 1 ";
}


if ($filter['keywords'])
{
$sql = "SELECT user_admin FROM ".$GLOBALS['ecs']->table('users')." WHERE user_admin = '$_SESSION[admin_id]'";
$row = $GLOBALS['db']->getRow($sql);
if ($row['user_admin'] > 1 )
{
/* 会员所属管理员 */
$ex_where =" WHERE user_admin = '$_SESSION[admin_id]' AND user_name LIKE '%" . mysql_like_quote($filter['keywords']) ."%' ";
}
else
{
$ex_where .= " AND user_name LIKE '%" . mysql_like_quote($filter['keywords']) ."%'";
}

}
if ($filter['rank'])
{
$sql = "SELECT min_points, max_points, special_rank FROM ".$GLOBALS['ecs']->table('user_rank')." WHERE rank_id = '$filter[rank]'";
$row = $GLOBALS['db']->getRow($sql);
if ($row['special_rank'] > 0)
{
/* 特殊等级 */
$ex_where .= " AND user_rank = '$filter[rank]' ";
}
else
{
$ex_where .= " AND rank_points >= " . intval($row['min_points']) . " AND rank_points < " . intval($row['max_points']);
}
}

if ($filter['pay_points_gt'])
{
$ex_where .=" AND pay_points >= '$filter[pay_points_gt]' ";
}
if ($filter['pay_points_lt'])
{
$ex_where .=" AND pay_points < '$filter[pay_points_lt]' ";
}

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

/* 分页大小 */
$filter = page_and_size($filter);
$sql = "SELECT user_id, is_shenhe,user_name,user_admin, email, is_validated, user_money, frozen_money, rank_points, pay_points, reg_time ".
" FROM " . $GLOBALS['ecs']->table('users') . $ex_where .
" ORDER by " . $filter['sort_by'] . ' ' . $filter['sort_order'] .
" 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;
}



问题是:
在后台列出会员表时,其中USER_ADMIN 显示的是 管理的ID (数字) ,我需要把这个管理员的ID,转换成 管员的名字。
请高手帮忙一下。如何修改。

谢谢。
...全文
361 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
meditatorzhang 2012-02-14
  • 打赏
  • 举报
回复
我做ecshop快三年了,一个最快但效率不高的方法是:
会员列表数组循环一次,取出user_id,组成字符串,以,间隔;
$temp = $db->getAll(select username,user_id from XXX where user_in in (字符串))
foreach($temp as $v)
$user_name[$v['user_id']] = $v['username']
再传入模板就可以了

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧