- ベストアンサー
ファイル操作
私はレス機能付きの掲示板を作成しました。 そこで質問なんですが、親記事に対してレスが付けられた場合、その親記事をトップへソートしたいんですが、どうすればよろしいでしょうか? ソースコードはこれです。 http://daisykatsura.dip.jp/bbs.txt
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
2つの方法があります。 1)レスがついたときに親記事を呼び出し、親記事を最後にpush()する。 573行目辺りからcloseするまでを書いてあげました。 #ログファイル読み込み open(IN, "$logfile"); @xx = <IN>; foreach ( @xx ) { ($no,$resno,$name2,$subject2,$hp2,$mail2,$comment2,$host2) = split(/,/,$_); if($no eq $res){$oya=$_; } else{push(@xx2,$_);} $no++; } push(@xx2,$oya); push(@xx2,"$no,$res,$namae,$subject,$hp,$mail,$comment,$host\n"); #ログファイル書き込み open(OUT, "> $logfile"); print OUT @xx2; close(IN); close(OUT); 2)レスがついたときに、親記事えお呼び出しての$noを最新の$noに変更するsubを作る。 ただし、表示する$noと順番を管理するIDとしての$noを別に増やさなければいけません。($no,$no2,$res,$name,$subject,$hp,$mail,$comment,$host) とてもシンプルなコードですが、蛇足かもしれませんが。完了メッセージは、一応終了してから表示させた方がいいです。 web上で公開するならいろいろセキュリティをつけなければいけません。