• ベストアンサー

検索結果の並び替え

SQL,ASPでショッピングサイトの様な物を作っています。 アイテムテーブルには、”Title"と”Price" があります。 商品をキーワードで検索した結果を、 strSQL="select * from item where Title like '%"&request.querystring("keyword")&"%'" として、結果を表示した所に、その結果を”値段”をクリックしただけで、安い順に並び替えたいのですが、 strSQL="select * from classifieds where Title like '%"&request.querystring("keyword")&"%' order by price" とすれば、値段順に表示されることはできるのですが、 ”値段”をクリックしたときだけ、安い順に表示する様にしようと思っています。 (説明がうまくできませんが、Yahooショッピングで検索すると、結果が表示されその右上に”ソート順: 商品順 | 安い順 | 高い順”となっていて、クリックするとソートされるようになっていますよね。それと同じようにしたいのです。) アドバイス、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.3

サーバサイドのSQLで実装するのなら#1、2の方のおっしゃるやり方を用いれば出来ます。 クライアントサイドのJavaScriptの実装となると少し面倒なことをやらねば実現できないと思います。 下記URLはJavaScriptを用いて、テーブルの中身を並び替えるコードのサンプルです。 取得したレコードを配列化し、JavaScript内で保持し、ユーザのアクションの必要に応じてソートする処理を組み込めばよいのではないでしょうか? サンプルを作って掲載したいところですが、結構なシステムになってしまいます。私程度の技術では数時間費やしてしまうので、文章のみでご勘弁を。

参考URL:
http://www5a.biglobe.ne.jp/~n_rieko/javascript/5.htm
nemuxin
質問者

お礼

やはりJavaScriptでは無理なようなので、 ASPで書いたら簡単にできちゃいました。 アドバイスありがとうございました。

その他の回答 (2)

  • mirurin
  • ベストアンサー率43% (48/111)
回答No.2

JavaScriptでソートしたいのでしょうか?(多分それは無理があります) "値段"をクリックしたときに、aspプログラムになにかデータを渡して、 そのデータが存在するときだけ order by price を付け加えるようにしたらいいのでは?

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

select * from classifieds order by price desc; で、降順になりませんか? 詳しくは、お使いのDBのSQLリファレンスをどうぞ。

nemuxin
質問者

お礼

やっぱり説明不足でした。 降順にはなるんですが、 ”値段”をクリックしたら降順になるようにしたいのです。

関連するQ&A

専門家に質問してみよう