初心者です。
ホームページビルダーでサイトを作り、商品一覧表を載せています。
左から、商品番号・商品名・価格・・・と7項目ほどあって、現在は商品番号順に並んでいます。
これを、「価格」をクリックしたら価格順に並び替わるようにしたいのですが、どうすればいいでしょうか。
CGIでできると聞いたのですが、プログラムの知識はありません。
今の表のままでできるのか、データはどこにおけばいいのか、そういったこともわかりません。
「asp」でできると聞いたこともあるんですが、なんのことかわかりません。
検索してもわかりませんでした。
なにもわからなくて申し訳ありませんが、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
とりあえず、javascriptで作ってみました。
表のデータは、表のまま、スクリプトと対応さえ合わせばいいです。
----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>価格でソート</title>
<script type="text/javascript">
<!--
function sort(key, seq, kind){
//key:ソートに使う列番号、0始まり
//seq:L or S 、大きい順か小さい順かを示す
//kind:N or S、数字か文字かを示す
//バブルソート
var TB=document.getElementById('TB');
var rowsLen=TB.rows.length;
var x, y;
for(var i=0;i<rowsLen-1;i++){
for(var j=i+1;j<rowsLen;j++){
if(kind=='N'){
x=parseInt(TB.rows[i].cells[key].innerHTML);
y=parseInt(TB.rows[j].cells[key].innerHTML);
} else {
x=TB.rows[i].cells[key].innerHTML;
y=TB.rows[j].cells[key].innerHTML;
}
if(seq=='L'){
if(x < y)
swapRow(i, j);
} else {
if(x > y)
swapRow(i, j);
}
}
}
}
function swapRow(r1, r2){//r 位置は、0始まり,r1<r2
var TB=document.getElementById('TB');
var colsLen=TB.rows[0].cells.length;
var newTR;
var newTD;
newTR = TB.insertRow(r1);
for(var i=0;i<colsLen;i++){
newTD = newTR.insertCell(i);
newTD.innerHTML = "" + TB.rows[r2+1].cells[i].innerHTML;
TB.rows[r2+1].cells[i].innerHTML=TB.rows[r1+1].cells[i].innerHTML
}
TB.deleteRow(r1+1);
}
//-->
</script>
</head>
<body>
<table border=1>
<col align="left"><col align="center"><col align="left"><col span="4" col align="center">
<thead>
<tr>
<th onclick="sort(0, 'S', 'S')">商品番号</th>
<th>商品名</th>
<th onclick="sort(2, 'L', 'N')">価格</th>
<th>色</th>
<th>サイズ</th>
<th onclick="sort(5, 'L', 'N')">在庫</th>
<th>備考</th>
</tr>
</thead>
<tbody id="TB">
<tr>
<td>11BKL</td>
<td>ハンドバッグ</td>
<td>5500</td>
<td>黒</td>
<td>大</td>
<td>20</td>
<td>なし</td>
</tr>
<tr>
<td>12BKM</td>
<td>ハンドバッグ</td>
<td>5000</td>
<td>黒</td>
<td>中</td>
<td>40</td>
<td>なし</td>
</tr>
<tr>
<td>13BKS</td>
<td>ハンドバッグ</td>
<td>4800</td>
<td>黒</td>
<td>小</td>
<td>15</td>
<td>なし</td>
</tr>
<tr>
<td>22BLM</td>
<td>ハンドバッグ</td>
<td>5000</td>
<td>青</td>
<td>中</td>
<td>50</td>
<td>人気商品!</td>
</tr>
</tbody>
</table>
</body>
</html>
わぁ!
すご~い!!
わざわざ作っていただいたんですか?
どうもありがとうございます。<(_ _*)>
これを自分のサイトの表示に合わせて文字を打ち変えて使えばいいんですね。
早速やってみます。
また、もしつっかえたら補足します。
そのときはよろしくお願いいたします^^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
- メルカリ ジャンク品を高値で出品する人は何故? メルカリやヤフオクで ジャンク品なのに相場くらいの強気な価格 4 2022/10/01 00:31
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- 飲食店・レストラン かつやさん値上げしましたか?今日、ロースカツとアジフライの単品買ったんですがあれと?(´・ω・`) 1 2023/03/11 21:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSONで文字列が長い時
-
メモリをアドレスを直接指定し...
-
gpioを使ってSPIをシミュレーシ...
-
パターンマッチで変数でマッチ...
-
途中まで出来ているのですが‥(D...
-
Application.ScreenUpdating = ...
-
CLispのloop内の挙動について
-
文字のカラーとフォントの指定...
-
実行時エラー 3020の対策
-
VBAでPDFのコピーとリネームを...
-
【メモリ不足で落ちる(python)】
-
FindFirst を複数条件で検索
-
どちのほうがすきですか?
-
文字の横にプルダウンを表示さ...
-
セレクトメニューで2つの項目...
-
パイソンのクラスのブログラム
-
パイソンプログラミング
-
vscode 文字化け
-
パイソンのクラスについて
-
セレクトボックスの「選択して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSONで文字列が長い時
-
メモリをアドレスを直接指定し...
-
フォームで入力した値を表示し...
-
【C#】数値の範囲チェックについて
-
ラズパイで感圧センサーを動か...
-
linq で 楽天ウェブサービスのX...
-
Perlでアルファベットを数...
-
CGIでのページ指定~その(2)
-
途中まで出来ているのですが‥(D...
-
CGIやPHPで外部ファイルの内容...
-
CGIからメールに書き出しする際...
-
デコードできない時があります><
-
map(STL)でinsertを行いたいで...
-
フォームのINPUT NAM...
-
gpioを使ってSPIをシミュレーシ...
-
Application.ScreenUpdating = ...
-
どちのほうがすきですか?
-
formで特定のinputを送信しない...
-
文字の横にプルダウンを表示さ...
-
16進の10進変換について
おすすめ情報