按 ID 排序不起作用


Order by id doesn't work

我在mysql查询中遇到排序问题。没有" WHERE adder ='$followuser' "查询工作正常。但是通过不起作用来排序在哪里。你能帮我吗?:)这是我的代码:

$time=time();
$checkfollowing=mysql_query("SELECT * FROM `follow` WHERE `follower`='$session'") or die(mysql_error()); /* Check if is user following somebody */
if(mysql_num_rows($checkfollowing) == FALSE){ /* He's following no one */
    echo "You follow noone";
    die();
}elseif(mysql_num_rows($checkfollowing) == TRUE){ /* He's following somebody */
    while($row11=mysql_fetch_array($checkfollowing)){
$followuser=$row11['get_follow'];
$fcontent=mysql_query("SELECT * FROM `followcontent` WHERE `adder`='$followuser' ORDER BY id DESC") or die (mysql_error()); /* Follow content */
while($row=mysql_fetch_assoc($fcontent)){
    $id=$row['id'];
    $photourl=$row['photourl'];
    $adder=$row['adder'];

    echo "<hr class='style'><br><div id='newadder'>".$adder."</div><a href='photo/?id=".$id."'><img src='".$photourl."' class='newfolimg'></a>";

}

} }

非常感谢:))

如果id的数据类型是string,那么它将按字典顺序排序。试试这个技巧,

ORDER BY id * 1 ASC
  • SQLFiddle 演示

MySQL会将列隐式转换为数字。如果该值以字母开头,则相应的值将被0

可能 WHERE 子句将结果限制为一行,这就是"不起作用"的原因。