「お知らせ」が「更新情報」に派生した
前回のお知らせにリンクを加えたのでこれで普通のトップページにあるような更新情報のリストが作れるなーということで、派生させてみました。

よく見かけるこういうやつ。パワーアップ度合いはバスターソードがバスターソード改になった程度。あ。すいません。大剣は1回しか使った事ないので適当に言ってます。
「お知らせ」から変更する事
- 本文はいらないのでindex.htmlの入力項目からカット。
- 日付の書式を「2009.01.31」みたいな書式に変更する。
- 処理・表示のnews.phpから$bodyの痕跡を消し去る。
- 表示はulリストの形にする。
- リンク先が入力されたらテキストにaタグを加えて、入力されてなかったらテキストだけ表示。
本文カット後のindex.html
「本文」を入れてたdtとddを削除した。内容とリンク先のinputタグにsize="100"を入れたのは今はCSSで見た目何も指定してないから入力しやすいようにサクっと広くしてみただけ。
<form method="post" action="news.php">
<dl>
<dt>内容</dt>
<dd><input name="subject" type="text" size="100" /></dd>
<dt>リンク先URL</dt>
<dd><input type="text" name="url" size="100" /></dd>
</dl>
<p>パスワード:<input type="password" name="password" /> <input type="submit" name="submit" value="送信する" /></p>
</form>
日付の書式を変更
トップページの更新情報リストって年月日だけの所が多いから時分秒を削除。今までの書式が"Y/m/d H:i:s"だったのを"Y.m.d"に変えた。
$time = date("Y.m.d");
話の本筋には関係ないけど更新情報の日付の年の表記って「2009」と「09」結構迷う。たいがいはターゲット層やデザインによって決めるのだけれども、2桁の年にしたい場合は小文字のy。"y.m.d"とする。 (>>date関数の書式一覧)
表示はulリストの形にする。
news.phpから$bodyの痕跡を抹殺した後、表示部分の変更。
//変更前
for($i = 0; $i < $view_count; $i++){
list($subject2,$body2,$url2,$time2) = explode("\t",$news_list[$i]);
$time2 = ereg_replace("\n|\r|\r\n","",$time2);
echo "<h1>$subject2</h1>\n";
echo "<p>更新日時:$time2</p>\n";
echo "<p>$body2</p>\n";
if($url2){echo "<p><a href=\"$url2\">>>詳細はこちら</a></p>\n";}
}
//変更後
echo "<ul>\n";
for($i = 0; $i < $view_count; $i++){
list($subject2,$url2,$time2) = explode("\t",$news_list[$i]);
$time2 = ereg_replace("\n|\r|\r\n","",$time2);
echo "<li>$time2 ";
if($url2){
echo "<a href=\"$url2\">$subject2</a>";
}else{
echo $subject2;
}
echo "</li>\n";
}
echo "</ul>";
指定件数分の繰り返し処理の前にulタグを挿入。for部分の中は指定件数分のliタグを繰り返し処理する。URLの値が入ってたらaタグでテキスト内容を囲む。値が空ならテキスト内容のみを挿入する。繰り返し処理が終わった後、ulの閉じタグを入れる。

さっそく内容を入力してみて・・・
完成だニャヽ(´∀`ヽ)
が、しかし。
登録した内容をブラウザから削除できないとかありえないよねーというのは薄々気づいていたの。その辺りの機能を加えないといけないですよね。次は登録内容の一覧・削除とかできるようにしたい。
ソース全文
入力画面のindex.htmlは上に書いたとおり。以下、処理・表示側のnews.php。
なんかこれ書き始めて思ったのは、やっぱ1から作ってみたらいろいろやりたい事が増えてきて、それにはこの関数使えそうとか、これがわかんないから調べなきゃとか、次に自分がやる事がわかってきますね。面白いなぁ。
リファレンス読んで関数の意味だけ知ってたり、人が書いたソースを今回はこういう変更しなきゃならんからどこをどう変更したらいいんだろうとか部分的に調べまくってた時とは大違い。自分みたいに実務でこの技術あんまり必要ないというか、自分で1から書かなきゃならない状況に陥ってない人間はなかなか身に付かないので、こういう風に手動かさないとダメですね。今は全然どんなソースがキレイなのか分からないけれども、汚いなりに楽しくやってます(n' ω 'n)
<< 簡単なお知らせを表示する(5) | 全角数字⇔半角数字・全角カナ⇔半角カナ変換 >>
トラックバック
このエントリーのトラックバックURL:
http://redline.hippy.jp/cgi/mt/mt-tb.cgi/215
