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

php – 反转mysql_fetch_array()

发布时间:2020-12-13 21:34:24 所属栏目:PHP教程 来源:网络整理
导读:function outputscores($mysqlquery,$reverse=false){ while($row = mysql_fetch_array($mysqlquery)) { echo 'img src="img/date.png" / ' . date("j M Y",strtotime($row['timestamp'])) . ' img src="img/time.png" / ' . date("H:i:s",strtotime($row['t
function outputscores($mysqlquery,$reverse=false)
{
    while($row = mysql_fetch_array($mysqlquery))
    {
        echo '<img src="img/date.png" /> ' . date("j M Y",strtotime($row['timestamp'])) . '
        <img src="img/time.png" /> ' . date("H:i:s",strtotime($row['timestamp'])) . '
        <img src="img/star.png" /> '.$row['score'].$_GET["scoretype"].'<br />';
    }
}

如果$reverse设置为true,我需要反转数组,但PHP说mysql_fetch_array的输出不是有效的数组. $mysqlquery本身也不是.

有什么帮助吗?

哇今天我问了很多问题.

编辑

$result = mysql_query("SELECT * FROM $gid LIMIT 25") or throwerror(mysql_error());

outputscores($result);

EDIT2
另一个可能的电话

$result = mysql_query("SELECT * FROM ".$gid.",users WHERE users.lastcheck < ".$gid.".timestamp") or throwerror(mysql_error());

outputscores($result);

解决方法

编辑:将您的SQL查询更改为:

$mysqlquery="SELECT * FROM $gid";

将您的功能更改为:

function outputscores($mysqlquery,$reverse=false)
{
    if ($reverse==true)
        $mysqlquery.=" ORDER BY id DESC LIMIT 25";
    else
        $mysqlQuery.=" LIMIT 25";
    $result=mysql_query($mysqlquery);
    while($row = mysql_fetch_array($result))
    {
       //Do output here
    }
}

在这里,通过添加单词ORDER BY id DESC,您将使记录按表中“id”列的降序排序.通过键入ASC而不是DESC,您可以按升序排序.此外,您可以将“id”替换为表格中的任何其他列,例如时间戳,分数等.

编辑:或者,您也可以使用不同的函数将LIMIT和ORDER BY子句添加到查询中.然后你可以做这样的事情:

$reverse=false;//or true
$mysqlquery=addOrderBy("SELECT * FROM $gid",$reverse);
outputScores($mysqlquery);

(编辑:李大同)

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

    推荐文章
      热点阅读