電子書籍の厳選無料作品が豊富!

少し複雑な処理で行き詰ってしまいましたので、
お力を貸していただけると幸いですm(__)m

掲示板をLinux + Apache + PHP + MySQL環境で
作成しているのですが、最新投稿のソートがうまくいかず困っています。


現在、1ページに5件の記事を最新投稿が上部になるように表示しています。
クエリ:SELECT * FROM bbs ORDER BY no DESC LIMIT 5
例:
------------
(1ページ目)
投稿No.7
投稿No.6
投稿No.5
投稿No.4
投稿No.3
------------
(2ページ目)
投稿No.2
投稿No.1
------------



この表示を
希望例:
------------
投稿No.3
投稿No.4
投稿No.5
投稿No.6
投稿No.7
------------
(2ページ目)
投稿No.1
投稿No.2
------------
のように表示したいのですが、
どのようにクエリを作成すればよいのでしょうか?

よろしくお願いいたします

A 回答 (2件)

PHPで処理する方が効率的です。


結果を配列で受けて、逆ソートをかけてから
表示するだけです。

$sql="SELECT ・・・";
$res=mysql_query($sql,$link);
while($rows = mysql_fetch_array($res,MYSQL_ASSOC)){
foreach($rows as $key=>$val){
$data[][$key]=$val;
}
}
arsort($data);
foreach ($data as $val){
print $val["hoge1"].$val["hoge2"].$val["hoge3"];
}
    • good
    • 0
この回答へのお礼

灯台下暗しでした^^

arsort($data);
で対応できました
ありがとうございます★

お礼日時:2006/05/11 11:42

mysql 4.1 以降をお使いでしたら、サブクエリ


で対応できると思います

select * from (SELECT * FROM bbs ORDER BY no DESC LIMIT 5) hoge order by no asc

または、プログラム上で表示順を変えてみてはいかがでしょうか?
カーソル位置をlastに持って行き、previousで前行に
カーソルを移動しながら記載しても同じ結果だと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す