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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |