希望改变显示的统计数据顺序

时间:2012-02-28 16:28:16

标签: php

我尝试按照之前的链接建议进行组合,但我仍然收到错误。我对php很新,所以我有两个查询。

警告:mysql_fetch_assoc():提供的参数不是第88行/home/vhockey/public_html/vhatest/connect.php中的有效MySQL结果资源

表格为“season12”,表格为“p”

这是我的connect.php文件,除了服务器信息...

function index_team_stats($subconference) {
$return = array();

$query = "SELECT id, teamname, teamnameseason, teamabr 
            FROM teams 
            WHERE subconference = '" . $subconference . "' 
            ORDER BY teamnameseason";

$teams = result_array($query);
foreach ($teams as $team) 
{
    $query = "SELECT gp, w, l, ol, p 
                FROM season12 
                WHERE team = '" . $team['teamnameseason'] . "' 
                ORDER BY p DESC 
                LIMIT 0,20'; ";

    $results = result_array($query);

    if ($results)
    {
        $results[0]['team'] = str_replace($team['teamnameseason'], '', $team['teamname']);
        $results[0]['teamabr'] = $team['teamabr'];
        $results[0]['teamid'] = $team['id'];
        $return[] = $results[0];
    }
}
return $return;
}




function get_team_name($teamnameseason) {



$query = "SELECT teamname FROM teams WHERE teamnameseason = '" . $teamnameseason . "'";



$row = mysql_fetch_row(mysql_query($query));



return str_replace($teamnameseason, '', $row[0]);



}



function result_array($query) {



$results = mysql_query($query) or die("error on: " . $query . " saying: " . mysql_error());



$return = array();



while ($row = mysql_fetch_assoc($results)) {



    $return[] = $row;



}



return $return;



}

以下是信息图片![所有信息按团队PTS从最高到最低排序

http://i.stack.imgur.com/eCBuF.png

应该展示Penguins,FLyers,Islanders,Rangers,Devils ..

2 个答案:

答案 0 :(得分:0)

使用JOIN。一个例子如下。您可能需要根据您的具体需求进行调整。

SELECT teams.id, teams.teamname, teams.teamnameseason, teams.teamabr, season12.gp,
    season12.w, season12.l, season12.ol, season12.p
FROM teams, season12
INNER JOIN season12
ON teams.teamname=season12.team
WHERE teams.subconference = '$subconference'
ORDER BY season12.p
LIMIT 0,20

请注意,此代码未经过测试,可能需要修改。

答案 1 :(得分:0)

您可以使用php排序功能http://php.net/usort

$callback = new function ($el1, $el2) {
    if ($el1['points'] == $el2['points']) {
        return 0;
    }
    return ($el1['points'] < $el2['points']) ? -1 : 1;  
}
$sorted_result = usort($results, $callback);