我想颠倒数组的顺序。
我的代码:
$result = mysql_query("SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "'");
while($row = mysql_fetch_array($result))
{
echo 'link:<a href=member.php?u=' .$row['UserId']. '>text</a><br>';
}
输出:
<a href=member.php?u=name8>text</a>
<a href=member.php?u=name9>text</a>
<a href=member.php?u=name10>text</a>
我想扭转它:
<a href=member.php?u=name10>text</a>
<a href=member.php?u=name9>text</a>
<a href=member.php?u=name8>text</a>
答案 0 :(得分:5)
您有两种解决方案:
解决方案#1:
"SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "' ORDER BY UserId DESC"
解决方案#2:
$result = mysql_query("SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "'");
while($row = mysql_fetch_array($result))
{
$data[] = $row['UserId'];
}
rsort($data);
foreach($data as $item){
echo 'link:<a href=member.php?u=' .$row['UserId']. '>text</a><br>';
}
第二种方法更好,因为这意味着你要从显示器中分离数据检索......它应该以这种方式完成,但不能阻止你在MySQL服务器上对数据进行排序
答案 1 :(得分:4)
如果您想首先显示最新ID,只需按用户ID排序
$result = mysql_query("SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "' ORDER BY UserId DESC");
while($row = mysql_fetch_array($result))
{
echo 'link:<a href=member.php?u=' .$row['UserId']. '>text</a><br>';
}
答案 2 :(得分:1)
向SQL添加ORDER BY UserId DESC
并让数据库为您执行此操作:
$result = mysql_query("SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "' ORDER BY UserID DESC");
附注:
使用该代码,你会更好地祈祷没有人去yoururl.com/yourpage.php?u='%20OR%201%3D1%20--
或更糟。我建议你阅读SQL注入攻击。
如果这不是您正在修改的旧代码,那么您首先不应该使用mysql_*
函数。他们被弃用了。