- ベストアンサー
検索結果の並び替え
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ショッピングで検索すると、結果が表示されその右上に”ソート順: 商品順 | 安い順 | 高い順”となっていて、クリックするとソートされるようになっていますよね。それと同じようにしたいのです。) アドバイス、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
サーバサイドのSQLで実装するのなら#1、2の方のおっしゃるやり方を用いれば出来ます。 クライアントサイドのJavaScriptの実装となると少し面倒なことをやらねば実現できないと思います。 下記URLはJavaScriptを用いて、テーブルの中身を並び替えるコードのサンプルです。 取得したレコードを配列化し、JavaScript内で保持し、ユーザのアクションの必要に応じてソートする処理を組み込めばよいのではないでしょうか? サンプルを作って掲載したいところですが、結構なシステムになってしまいます。私程度の技術では数時間費やしてしまうので、文章のみでご勘弁を。
その他の回答 (2)
- mirurin
- ベストアンサー率43% (48/111)
JavaScriptでソートしたいのでしょうか?(多分それは無理があります) "値段"をクリックしたときに、aspプログラムになにかデータを渡して、 そのデータが存在するときだけ order by price を付け加えるようにしたらいいのでは?
- osamuy
- ベストアンサー率42% (1231/2878)
select * from classifieds order by price desc; で、降順になりませんか? 詳しくは、お使いのDBのSQLリファレンスをどうぞ。
お礼
やっぱり説明不足でした。 降順にはなるんですが、 ”値段”をクリックしたら降順になるようにしたいのです。
お礼
やはりJavaScriptでは無理なようなので、 ASPで書いたら簡単にできちゃいました。 アドバイスありがとうございました。