加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – sql查询输出的反向顺序

发布时间:2020-12-13 22:05:52 所属栏目:PHP教程 来源:网络整理
导读:我有一点我无法解决的问题.我使用 PHP通过我的数据库运行以下代码: $strQuery = "select * from LastResult ORDER BY Date DESC LIMIT 10"; 结果都恢复正常,正如预期的那样,然后我必须将它们提供到折线图中,但是当我这样做时,它们显然是反向显示的,因为我有
我有一点我无法解决的问题.我使用 PHP通过我的数据库运行以下代码:

$strQuery = "select * from LastResult ORDER BY Date DESC LIMIT 10";

结果都恢复正常,正如预期的那样,然后我必须将它们提供到折线图中,但是当我这样做时,它们显然是反向显示的,因为我有DB将它们在DESC中按日期返回,这意味着最新的将是第一个返回.

有没有办法在返回这些结果后,我可以在将数据提供给我的图表之前改变它们的顺序.

这是完整的查询(请不要评论使用mysql而不是mysqli,我没有写那个位)

$strQuery = "select * from LastResult ORDER BY Date DESC LIMIT 10";

$result3 = mysql_query($strQuery) or die(mysql_error());

if ($result3) {
    while($ors4 = mysql_fetch_array($result3)) {
        $NumberResults2 = $ors4['Date'];

        $strQuery = "select AvGoalDifference as Average from LastResult where Date= '$NumberResults2'";

        $result4 = mysql_query($strQuery) or die(mysql_error()); 
        $ors3 = mysql_fetch_array($result4); 

        $strXML .= "<set label='" . $NumberResults2 . "' value='" . $ors3['Average'] . "' />";

        mysql_free_result($result4);
    }
}

mysql_close($link);

$strXML .= "</chart>";
$chart2 = renderChart("charts/Line.swf","",$strXML,"AverageGD",500,260,false,true,true);

echo $chart2;

解决方法

您可以通过执行外部选择并按照您希望的方式(ASC)对其进行排序来重新排序结果集:

SELECT * FROM (
    select * from LastResult ORDER BY Date DESC LIMIT 10
) as
ORDER BY Date ASC;

编辑:如果失败(就像在postgresql 9.3.4中那样),请使用内部选择的别名使其如下所示:

SELECT * FROM (
    select * from LastResult ORDER BY Date DESC LIMIT 10
) as foo
ORDER BY foo.Date ASC;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读