Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要一些关于如何在php页面上排序/显示MYSQL数据的指导吗_Php_Mysql_Vbulletin - Fatal编程技术网

需要一些关于如何在php页面上排序/显示MYSQL数据的指导吗

需要一些关于如何在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

我希望添加一些额外的功能,以成员名单。这涉及到2个文件,我需要一些关于这个功能应该去哪里的指导

File1)staff members.php
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);

?>