掲示板のページ送り
よし!今日書いたの動いたのでソース晒し。(コメント付き)
<?php //1ページに表示する数 $pagemax = 5; /* ページ送り機能付き表示処理 */ //まず読み込む $lines = file($log); //ページ送りのため全ての行数をカウント $all_com = count($lines); //全部で何ページか $page_no = $all_com / $pagemax; //すげー投げやりだけど$pageの引数がnullでも0でも1にする if($page==null or $page==1 or $page==1){ $page = 1; if ($page < $page_no){ $output = array_slice($lines, 0,$pagemax); //記事表示のユーザー関数のあとgetでページ送りのリンク kiji_view($output); echo "<a href = bbs1.php?page=2>next→</a><br>\n"; } }else{ //$pageの引数がある場合、変数$nextpageと$prevpageを用意 $nextpage = $page+1; $prevpage = $page-1; //array_sliceで該当のデータ抜き出し(ここんとこ適当) $nowpage = $pagemax*$page-$pagemax; $output = array_slice($lines, $nowpage, $pagemax); //記事表示のユーザー関数のあとgetでページ送りのリンク kiji_view($output); echo "<a href = bbs1.php?page=$prevpage>←prev</a> \n"; //最終ページにはnextのリンクを付けない if ($page < $page_no){ echo "<a href = bbs1.php?page=$nextpage>next→</a><br>\n"; } } //記事表示のユーザー定義関数 function kiji_view($output){ for($i = 0; $i < count($output); $i++) { $after = explode("<>", $output[$i]); list($non,$tname,$tcom,$date,$host) = $after; echo "[$non] $tname >> $tcom <font size=1>[$date]</font><br><hr>\n"; } } ?>
はてな記法でphpコード表示してるんだけど何故か色がうまくいってないような…?
(助言により色分け成功!:8月31日)
インターネットやりはじめて、cgiの設置をおぼえて(主に掲示板)perlのcgiを改造するときに挫折していたのがページ送りだったので、自分の手で出来るようになったのがなにげに嬉しい。いい気分です。
あとは入力時のチェックと削除機能。がんばろう。