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

§カテゴリー別ページを作る

トップページでは for 文とexplode 関数を使ってカテゴリーのCSVから「すべての」データを取り出しました。
カテゴリー別ページでは、さらに if 文を追加してデータのCSVから同じカテゴリのアイテムだけを取り出します。

クエリで送信されたIDと一致するものを抽出

"データ用のCSVはどのような構成にすれば良いでしょうか?

最低必要な項目はアイテムのIDとカテゴリーを識別するIDです。
後の項目は作りたいリンク集の性格によって変わります。

例)

アイテムID‚ カテゴリーID‚ 画像リンク‚ テキストリンク‚ 価格‚ コメント‚


アイテム名はほとんどの場合テキストリンクと重複すると思うので省略しました。
ただし、だらだら長いだけで名前がわからないテキストリンクしか用意していない困ったマーチャントさんも中にはいらっしゃるので、その辺は臨機応変に対応したいですね。

さてこのデータ用CSVから同じカテゴリーのものだけ抽出するプログラムです。
cat.php
<?php
//解説(1)
$Cid=$_GET['cid'];
$Data=file('cat.csv');
for($i=0;$i<sizeof($Data);$i++){
$line=explode(""‚ ""‚ $Data[$i]);
if($line[0]==$Cid){ //解説(2)
$CatTitle=$line[1];
break;
}
}
?>
<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">
<html lang=""ja"">
<head>
<title><?=$CatTitle?> | サンプルリンク集</title>
<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"">
<body>
<a href=""index.php"">HOME</a>
<h1><?=$CatTitle?></h1>
<table border=""1"">
<tbody valign=""top"">
<?php
$Data=file('item.csv'); //解説(3)
for($i=0;$i<sizeof($Data);$i++){
$line=explode(""‚ ""‚ $Data[$i]);
if($line[1]==$Cid){ //解説(4)
?>
<tr>
<td><?=$line[2]?></td>
<td>
<?=$line[3]?><br><br>
<a href=""item.php?id=<?=$line[0]?>"">詳細を見る</a> //解説(5)
</td>
</tr>
<?php
}
}
?>
</tbody>
</table>
</body>
</html>


解説(1)
クエリの「cid」を$_GET[""cid""]で受取り変数$Cidに収めます。

解説(2)
まず、cat.csvからタイトルに表示するカテゴリー名を抽出しましょう。
for文とexplode関数でCSVを分解しif文で1行ずつ調べます。
$line[0](カテゴリーID)が$Cidと一致すれば、$CatTitleに$line[1](カテゴリー名)を代入します。
一致しなければ次に行を調べます。
breakは繰り返し処理を強制的に中断する関数です。
処理したい項目が見つかればそれ以降の処理は必要ありません。
繰り返しから抜けることで不必要なサーバーへの負担を軽減します。
こういった細かい配慮って後々重要になってきます。

解説(3)
次にデータ用のCSVから$Cidと同じカテゴリーIDを持つデータを抽出します。
要領はまったく同じです。

解説(4)
$line[1](カテゴリーID)と$Cid一致すればすべて表示します。
一致しなければ表示されません。
一致するものはすべて表示したいのでbreakで中断はしません。

解説(5)
アイテムの詳細を表示するページへリンクを張ります。
$line[0] は各アイテムのIDです。"

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

  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
音楽アフィリエイトとサイト運営の効率化を考えるブログ