PHPとCSVで簡易データベースなるものを作りたいのです
私はプログラミングなどに関しては全くの素人なのですが、
今回こちらのサイト様(http://affiliate.aki-f.com/prog/cat/cat9.html)を参考にして簡易データベースなるものを作ろうと思っています。
ですがやはり付け焼刃の知識ではどうにも先が見えなく困っています。
今回が初投稿なのですが何卒宜しくお願いいたします。
以下に各ソースと質問を書かせていただきます。
------------------------CSVの中身------------------------
商品カテゴリー,商品タイトル,値段,発売年,簡単な説明,おすすめ度
商品カテゴリー,商品タイトル,値段,発売年,簡単な説明,おすすめ度
商品カテゴリー,商品タイトル,値段,発売年,簡単な説明,おすすめ度
~同じ用に数十件ほど~
商品カテゴリー,商品タイトル,値段,発売年,簡単な説明,おすすめ度
-------------------------------------------------------------
同じカテゴリー、発売年、おすすめ度などで絞込み表示するような形を想定しています。
------------------------------INDEX.PHP------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"></head>
<body>
<table>
<tbody>
<?php
$Data=file('list.csv');
for($i=1;$i<sizeof($Data);$i++){
$line=explode(",",$Data[$i])
?>
<tr>
<td><a href="test.php?id=<?=$line[0]?>"><?=$line[0]?></a></td>
<td><a href="test.php?id=<?=$line[1]?>"><?=$line[1]?></a></td>
<td><a href="test.php?id=<?=$line[2]?>"><?=$line[2]?></a></td>
<td><a href="test.php?id=<?=$line[3]?>"><?=$line[3]?></a></td>
<td><a href="test.php?id=<?=$line[4]?>"><?=$line[4]?></a></td>
<td><a href="test.php?id=<?=$line[5]?>"><?=$line[5]?></a></td>
</tr>
<?php
}
?>
</tbody></table></body></html>
----------------------------------------------------------------
index.phpでは全商品のリストが表示されます。
---------------------------test.php-----------------------------
<?php
$id=$_GET['id']
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"></head>
<body>
<table>
<tbody>
<?php
$Data=file('list.csv');
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",",$Data[$i]);
if($line[/*質問1*/]==$id){
?>
<tr>
<td><a href="test.php?id=<?=$line[0]?>"><?=$line[0]?></a></td>
<td><a href="test.php?id=<?=$line[1]?>"><?=$line[1]?></a></td>
<td><a href="test.php?id=<?=$line[2]?>"><?=$line[2]?></a></td>
<td><a href="test.php?id=<?=$line[3]?>"><?=$line[3]?></a></td>
<td><a href="test.php?id=<?=$line[4]?>"><?=$line[4]?></a></td>
<td><a href="test.php?id=<?=$line[5]?>"><?=$line[5]?></a></td>
</tr>
<?php
}
}
?>
</tbody></table></body></html>
---------------------------------------------------------------
index.phpで選択された項目で絞り込んで表示するページです。
質問1
上記の、if($line[~]==$id)の、~の部分に例えば0と入っているなら商品カテゴリーを選択した時に同じカテゴリーで絞り込み表示するわけなのですが、これだけでは当然他の項目を選択しても何も表示されません。なので、~の部分に全ての$lineを巡回させるような命令を書ければ全項目での絞り込みに対応できるんじゃないかなと、素人ながらに思っているのですがどうでしょうか?またその方法、もしくは他の解決策をご教授願えますでしょうかm(_ _)m
あと、index.phpとtest.phpを1つにまとめてしまえることはできるでしょうか?私としてはできるならそうしたいのです。が、うまくできませんでした。
どこか変なことを口走っているかも知れませんがご容赦ください。
宜しくお願いします。
お礼
ご回答ありがとうございます。 記載いただいた例でしたら私も理解できたのですが、%sは、sprintf(~)内にありました。 sprintfのマニュアルに%について少し表記があるのを見つけましたので、照らし合わせながら解析を進めて行きたいと思います。 ありがとうございました。