GETを使って、テンプレートデザインにCSVファイルのデータを読み込むPHP

同じデザインのページを何枚も作らなければならない時、
例えば、「商品リスト一覧」を制作しなければならなくて、一覧ページから各商品の個別ページに飛ぶ・・・というような遷移の場合、
商品が10個くらいならよいですが、100個も200個もあった場合、HTMLだと100枚も200枚も作らないといけません。
この場合、各商品ページのテンプレートだけ作成して、商品名や画像ファイル名などはCSVファイルにひとまとめにしておいて、
リスト一覧のリンクをクリックすれば、テンプレートにCSVのデータを挿入させるようにすれば作業がとっても楽です。

デザイン変更の場合も、100枚のHTMLファイルを更新するのではなく、1枚のテンプレートだけを書き換えればよくなるので、効率がいいです。

下に、最も単純な方法を書きます。

3ファイル用意します
list.php 商品一覧リストページ
result.php 個別商品ページのテンプレート
data.csv 商品データ


【list.php 商品一覧リストページ】
<html>
<head><title>PHP</title></head>
<body>
PHP test<br><br>

<a href="result.php?product=1">商品1</a><br>

<a href="result.php?product=2">商品2</a><br>

<a href="result.php?product=3">商品3</a><br>

</body>
</html>


【result.php 個別商品ページのテンプレート】
<html>
<head><title>PHP</title></head>
<body>
PHP test<br><br>

<?php

print "渡した値を変数に:";
print $atai;
print "<br><br>";

$fp = fopen("data.csv", "r");

while ($data = fgetcsv($fp, 10000)) {

if($atai==$data[0]){
print "$data[1]<br>";
}

}

fclose ($fp)

?>

</body>
</html>


【data.csv 商品データ】
1,商品1,product1.jpg
2,商品2,product2.jpg
3,商品3,product3.jpg
4,商品4,product4.jpg


これで、商品1のリンクをクリックしたときは、商品1のデータがテンプレートに渡され、上の場合だと$data[1]の商品名がprintされます。

$data[2]を利用すれば、当然商品1の画像ファイルが表示できます。

dataは増やせるので、色々応用できると思います。
calendar
 123456
78910111213
14151617181920
21222324252627
282930    
<< September 2008 >>
selected entries
categories
recent comment
  • 再配布不可識別子の入れ方
    eguti (06/04)
  • ナビゲーションをul、liで作成する時
    ビジログ (03/09)
  • 再配布不可識別子の入れ方
    nana (02/02)
  • 再配布不可識別子の入れ方
    TOM (01/22)
  • Foma901シリーズ用 デコメテンプレートをPCで作成する方法
    pon (11/09)
  • Foma901シリーズ用 デコメテンプレートをPCで作成する方法
    pon (11/09)
  • 1ソースでi-mode,Vodafone,EZの絵文字を出し分けるCGI
    acid (11/01)
  • 「このコントロールをアクティブ化して使用するにはクリックしてください。」を表示しないためには
    taka (10/18)
  • 再配布不可識別子の入れ方
    hana (09/03)
  • 再配布不可識別子の入れ方
    aks (06/22)
recommend
recommend
recommend
やさしいXML
やさしいXML
高橋 麻奈
recommend
recommend
links
search this site.
others
mobile
powered