こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

mysql内データ検索結果の表示順について

mysql内のデータを条件検索する時、検索結果の表示順を指定します。
新着順(id降順)で指定する場合のエラーについてアドバイスをいただけないでしょうか。

例えば、DB内データを降順で全件表示する場合は、
$query = "SELECT * FROM テーブル名 ORDER BY id DESC";
とすることでできると思います。

そこで、条件検索で結果表示をする場合は、上記の通りにしてもエラーが発生します。これについてのコードは以下のような感じです。

$query = "SELECT * FROM テーブル名 ORDER BY id DESC";

$where = array();
if (isset($_GET['area'])and($_GET['area'] !== '')) {
$where[] = sprintf("(area='%s')", mysql_real_escape_string($_GET['area']));
}

if (count($where) <> 0) {
$query .= ' where ' . implode(' and ', $where);
}

これは、ORDER BY id DESCを書く位置が悪いのでしょうか?
order by句は$query = select ~~~のあとに付けるという認識だったのですが、場合によって間違いとなるということなのでしょうか。

アドバイスをいただければ幸いです。

投稿日時 - 2012-11-09 19:49:08

QNo.7789591

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.2

RTFM.
http://dev.mysql.com/doc/refman/5.1/ja/select.html

投稿日時 - 2012-11-10 10:58:00

補足

>RTFM.

I'm sorry. Because of my feeling not fine with reading a manual, I asked this question.
It' s my inexertion.
Thnx for your server word.

投稿日時 - 2012-11-10 15:57:38

ANo.1

order by 句は where 句よりあとですね

投稿日時 - 2012-11-09 21:30:44

補足

select ~~~where~~~order by~~~となることはわかるのですが、検索条件の記述が入ることで、少し迷いがありました。
shimix様の言うとおり、ここで質問させていただく前にもっと徹底的に調べるべきでした。ご回答ありがとうございます。
そしてご回答の手間を取らせてしまい申し訳ありません。

投稿日時 - 2012-11-10 16:05:06

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-