2

我的 mysql 查询中的 order by 有问题。如果没有“ WHERE adder='$followuser' ”,查询工作正常。但是使用 WHERE 是 ORDER BY 不起作用。你能帮我吗?:) 这是我的代码:

$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>";


}

} }

十分感谢 :))

4

2 回答 2

4

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

ORDER BY id * 1 ASC

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

于 2013-09-23T20:30:19.063 回答
0

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

于 2013-09-23T20:43:46.187 回答