KENT-WEB サポートコーナー 過去ログ [ 0193 ]


記事No: 9873
投稿日: 2011/12/23(Fri) 04:31:24
タイトルwebmart 登録商品の並べ替え
ID情報: bamboohh
投稿者: haru
URLhttp://www.bamboo-work.net/

Web Mart v1.7を使用しております。

過去ログで [3438] webmart 登録商品の並び替え http://www.kent-web.com/support/old/66/0164.html がありましたが、私が同じ方法でやると商品コードがバラバラに表示されてしまいます。

下記の通りにやったんですが。

●●●●●●●●●●●●●●
mart_admin.cgi 265行目付近

@tax = ('税別','税込み');
$i=0;
open(IN,"$datfile") || &error("Open Error : $datfile");
#▼ここから▼
# 商品コード順に表示
@file = <IN>;
foreach $file (@file) {
$i++;
($code,$name,$price,$intax,$plus1,$plus2) = split(/<>/,$file);
$price = &comma($price);
$code{$i} = $code;
$name{$i} = $name;
$price{$i} = $price;
$intax{$i} = $intax;
$plus1{$i} = $plus1;
$plus2{$i} = $plus2;
}
foreach (sort { ($code{$a} <=> $code{$b}) } keys(%code)) {

print "<tr><th class=r>
<input type=checkbox name=code value=\"$code{$_}\"></th>
<td class=r>$code{$_}</td><td class=r><b>$name{$_}</b></td>
<td align=right class=r>\\$price{$_} ($tax[$intax])</td>\n";

# 在庫
if ($stock) {
if (!defined($stock{$code{$_}})) { $stock{$code{$_}}=0; }
print "<td align=right class=r>$stock{$code{$_}}</td>";
#▲ここまでを入替▲
}
print "</tr>\n";
}
close(IN);
●●●●●●●●●●●●●●

別の場所を変えなくてはならないのでしょうか?

なにとぞよろしくお願いいたします。


記事No: 9875
投稿日: 2011/12/24(Sat) 10:07:02
タイトルRe: webmart 登録商品の並べ替え
ID情報: Fuyuki
投稿者: BAL
URLhttp://www26.tok2.com/home/sumire1100/

商品コードが0001、0002のように同じ桁の数字の場合のみコード番号順に並びます。
アルファベット順にするには

foreach (sort { ($code{$a} <=> $code{$b}) } keys(%code)) {

       ↓

foreach (sort { ($code{$a} cmp $code{$b}) } keys(%code)) {


記事No: 9883
投稿日: 2011/12/25(Sun) 07:02:57
タイトルRe^2: webmart 登録商品の並べ替え
ID情報: bamboohh
投稿者: haru

ご回答ありがとうございます。
早速やってみたところアルファベット順に並びました。

ありがとうございました。


[検索ページ]