需要一些关于如何在php页面上排序/显示MYSQL数据的指导吗
我希望添加一些额外的功能,以成员名单。这涉及到2个文件,我需要一些关于这个功能应该去哪里的指导 File1)staff members.php需要一些关于如何在php页面上排序/显示MYSQL数据的指导吗,php,mysql,vbulletin,Php,Mysql,Vbulletin,我希望添加一些额外的功能,以成员名单。这涉及到2个文件,我需要一些关于这个功能应该去哪里的指导 File1)staff members.php File2)memberships.php staff members.php(一个简单的php页面-需要memberships.php才能正常工作) 目前为止(据我所知),此页面仅从用户组91获取数组,并在屏幕上显示其内容 memberships.php(该文件有很多相关内容,因为它链接到vbulletin) -我将尝试发布我认为对理解staff
File2)memberships.php staff members.php(一个简单的php页面-需要memberships.php才能正常工作)
目前为止(据我所知),此页面仅从用户组91获取数组,并在屏幕上显示其内容
memberships.php(该文件有很多相关内容,因为它链接到vbulletin)
-我将尝试发布我认为对理解staff-members.php的填充方式很重要的代码片段。如果你还需要什么,请告诉我
$Users = $vbulletin->db->query_read("
SELECT user.userid, userfield.field31
FROM " . TABLE_PREFIX . "user AS user
LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield ON(userfield.userid = user.userid)
WHERE " . $Condition . " ORDER BY user.username ASC
if ($vbulletin->userinfo['userid'])
$Output .= '<span style="width:181px; text-align: left; display: block; float: left; font-weight: bold; color: #909090;">Username</span>';
if ($vbulletin->userinfo['userid']) {
$Output .= '<span style="width:62px; text-align: left; display: block; float: left; font-weight: bold; color: #909090;">Posts</span>';
$Output .= '<span style="width:183px; text-align: left; display: block; float: left; font-weight: bold; color: #909090;">Steam Name</span>';
$Output .= '<span style="width:100px; text-align: left; display: block; float: left; font-weight: bold; color: #909090;">Join Date</span>';
$Output .= '<span style="width:81px; text-align: left; display: block; float: left; font-weight: bold; color: #909090;">Last Activity</span>';
}
$Users=$vbulletin->db->query\u read(“
选择user.userid,userfield.field31
从“.TABLE_PREFIX.”用户作为用户
左连接“.TABLE_PREFIX.”用户字段作为上的用户字段(userfield.userid=user.userid)
其中,“$Condition.”按用户订购。用户名ASC
如果($vbulletin->userinfo['userid'])
$Output.='Username';
如果($vbulletin->userinfo['userid']){
$Output.='Posts';
$Output.='Steam Name';
$Output.=“加入日期”;
$Output.='最后一项活动';
}
在上面的代码中(就我所知,也是这样),它获取一个组的userid和username(field31),并根据它们的username对它们进行排序。
然后将其添加到$output中,格式如上面所示
我找对地方了吗?我想要的功能是 Posts、Steam Name、Join Date、staff-members.php页面上的Last Activity clickable链接。由于SELECT语句中的ORDER by,目前它仅按用户名排序。我如何添加此功能?
谢谢如果此功能如您所述工作,则成员资格函数将需要从以下内容添加一个附加参数
function membership(int $usergroup)
function membership(int $usergroup, $orderby, $direction)
差不多
function membership(int $usergroup)
function membership(int $usergroup, $orderby, $direction)
在函数内部,需要添加一些额外的代码来解析参数,如
switch($orderby)
{
case 'posts' :
$orderby = 'users.posts';
break;
case 'streamname' :
$orderby = 'users.streamname';
break;
case 'lastactivity' :
$orderby = 'users.lastactivity';
break;
case 'joinned' :
$orderby = 'users.joinedate';
break;
default :
$orderby = 'users.username';
}
switch ($direction) {
case 'DESC' :
$orderby .= ' DESC';
break;
default :
$orderby .= ' ASC';
}
字段名取决于数据库结构等,上述字段名不准确
然后只需更新SQL order by以包括“$orderby
最后要做的事情是从URL获取排序,以便使用更新staff-membership.php页面
<?php
$orderby = isset($_GET['order'])?:'username';
$direction = isset($_GET['sort']?:'asc';
echo membership(91, $orderby, $direction);
?>