HOME > 簡易データベースを作ってみよう > 

§アイテム別ページを作る

カテゴリー別ページが理解できれば、同じ要領でアイテム別ページは簡単に出来ます。

繰り返し使う処理は自作関数を作ろう

"クエリで受け取ったアイテムIDをキーにitem.csvからデータを抽出します。
抽出したデータを変数に収め、それをHTML内に配置していきます。

<?php
require_once('common.php'); //解説(1)
$ID=$_GET['id'];
$Data=file('item.csv');
for($i=0;$i<sizeof($Data);$i++){
$line=explode(""‚ ""‚ $Data[$i]);
if($line[0]==$ID){
$Cid=$line[1];
$ImageLink=DeleteEsc($line[2]); //解説(2)
$TextLink=DeleteEsc($line[3]);
$PageTitle=strip_tags($TextLink); //解説(3)
$Price=number_format($line[4]); //解説(4)
$Comment=$line[5];
braek;
}
}
?>
※長くなるので以降はサンプルをダウンロードしてください。


解説(1)
ローテーションバナーの項でも説明しましたが、管理画面のフォームから入力した文字列にエスケープ文字が付加されることがあります。
これは表示側で処理するしかありません。
(※前のページのcat.php 説明用コードでは処理していません。修正済みコードは下記のサンプルをDLしてください。)

こういった同じ処理を繰り返しする場合、自作関数を作っておきます。
自作関数は外部ファイル化したライブラリーを作っておくと異なったファイルにも使いまわし出来ます。
ライブラリーを読み込むときはrequire_once(またはinclude_once)で読み込みます。

common.php (関数ライブラリー)
<?php
/*
DeleteEsc
エスケープ文字を削除する自作関数
*/
function DeleteEsc($Ad){
$Ad=str_replace(""\\""‚ """"‚ $Ad);
$Ad=stripslashes($Ad);
return $Ad;
}
?>

解説(2)
自作関数DeleteEscを使ってエスケープ文字を処理します。

解説(3)
ヘッダー内の<TITLE>~</TITLE>内に表示するタイトルをテキストリンクからいただきます(笑)
ヘッダー内ではリンクタグが使えないのでstrip_tags関数を使いHTMLタグを削除します。

解説(4)
CSVファイル内ではカンマを使うことが出来ません。
価格表示をカンマで3桁区切りにしたい場合一旦カンマなしで入力し表示のときにnumber_formatを使います。

サンプルにはすべてのファイルを収録しています。"

簡易データベースを作ってみよう

  1. 仕組みとファイル構成
  2. CSVとは
  3. トップページを作る
  4. カテゴリー別ページを作る
  5. アイテム別ページを作る
  6. フリーワード検索を作る
  7. 検索結果がゼロの場合の処理
  8. 絞込み検索(and検索)
  9. 1ページを10件表示に制限する
  10. 登録画面を作る。
  11. CSVへの書き込み
  12. データを編集する。
  13. データを削除する。

メイン・メニュー

  1. はじめに
  2. 入門者向け参考書
  3. PHPの基本
  4. ローテーション・バナーを作ってみよう
  5. 検索結果リンクを自動化しよう
  6. 簡易データベースを作ってみよう
  7. ホームページ制作のためのリンク集

PHPが使えるサーバー

僕が使っているサーバーです。

エックスサーバー
多くのアフィリエイターが支持するレンタルサーバー。
当サイトでも使用しています。

管理人のブログ

音楽サイトでアフィリエイトblog
音楽アフィリエイトとサイト運営の効率化を考えるブログ