アプリ版:「スタンプのみでお礼する」機能のリリースについて

掲示板で現在

最新No=200だったとき

1ページ目
200
199
198
197
196



151
2ページ目
150
149
148
147
146



101

以下1まで・・・

のよう降順で表示しているのですが
これを

1ページ目
151
152
153
154
155



200
2ページ目
101
102
103
104
105



150

このようにページごとに昇順としたいのですが、
どのように処理するのでしょうか?


以下、
関係しそうな処理の部分抜粋・・・
※現在のソースです。

open(FILE, "<$BBSLOG") or die("error :$!");
eval{ flock(FILE, 1) };
@DATA = <FILE>;
close FILE;
if($start > @DATA) {$start = @DATA;}
$next = $start + 50;
$back = $start - 50;
if ($back < 0) { $back = 0; }
for ($i=$start;$i<$next;$i++){
last if ($i > @DATA);
$data = $DATA[$i];

my ($BBSNO,$tm,$NAME,$TITLE,$TEXT) = split(/,/, $_);

以下各カンマ区切りの文字を表示

$BBSNO・・・$tm・・・$NAME・・・$TITLE・・・$TEXT

質問者からの補足コメント

  • @DATA = sort { (split(/\,/,$a))[0] <=> (split(/\,/,$b))[0] } @DATA;

    このようにすると昇順にはなりました

    しかし、

    1ページ目は
    151

    200
    にしたいのですが、

    これですと



    50
    です

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/07/20 13:28

A 回答 (1件)

表示する前にその数値でソートすればいい.

この回答への補足あり
    • good
    • 0
この回答へのお礼

#@DATA = sort { $a cmp $b } <FILE>;

こういうやつですよね・・・?

昇順にはなるのですが・・・

10
100
101
11
12


とよくわかならい昇順になってます・・・

お礼日時:2017/07/20 13:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!