めも

2008/8/12 [13:18:25] (火) 天気

簡単なパズルで現実逃避。


データを、表示順で並べて、同じ表示順の中ではID順で並べる、てのは当たり前のありがちで、SQL文だとたぶん

order by displayorder asc, id desc

てな感じでさくっと書ける、のかな。


これをどうしたもんかとちょっと悩んで。…hashに放り込んでループすればイケる。


foreach (keys %{ $ref } ){

$pos->{ $ref->{$_}->{displayorder} }++;

$disp->{ $ref->{$_}->{displayorder} }->{$_} = 1;

}

foreach my $display ( sort {$a<=>$b;} keys %{ $pos } ){

foreach ( sort {$b<=>$a;} keys %{ $disp->{$display} } ){

print $ref->{$_};

}

}


でも、なんかダサい(死語)

並べかえたい、というのはよくあることなのに、こんな書き方してしまうと、バリエーションの数だけ同じようなことを書かなきゃいけないじゃん。…うううむ。


とはいえ、忘れないうちにメモっておこう。

<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031
検索:

【最近の20件】