商品の一覧のcsvファイルを作成し、ホームページ上で品番を入れると、そのcsvファイルから品名や価格を引っ張ってくれるようなシステムを作りたいと思っています。PHPでできるのでしょうか? また、そのような作り方の説明のあるサイトをお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/03/19 14:42:34
  • 終了:--

回答(4件)

id:sinono No.1

sinono回答回数52ベストアンサー獲得回数02004/03/19 14:59:58

ポイント23pt

PHPを使わなくてもHTMLのデータバインドを使えばできますので参考までに。

リンク1はサンプルページです。このページのソースを見ると最後の方にある「データベース用オブジェクトの指定」でカンマ区切りのTXTファイル名(リンク2)を指定しています。

あとはフォームで何をやっているのかソースを見て自分が実現したい機能に変えてみたらどうでしょうか。

id:misia

なるほど。こんなに便利な機能があるんですね。

PHPを使わなくてすむなら、そのほうがありがたいです。

参考にします。

2004/03/19 16:08:15
id:raby No.2

raby回答回数21ベストアンサー獲得回数02004/03/19 15:20:22

ポイント23pt

できますよ。

例えば、選択された品番を $id にいれておいて

CSVふぁいるのデータ構造が、番号、品名

だったとるすと

$fp = fopen(”ファイル名.csv”, ”r”);

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

if ($data[0] == $id) { break; }

}

$data[0] には 品番

$data[1] には 品名

が入っています

id:misia

意外と短い構文でびっくりです。

ただ、当方PHPの初心者なもので、

これとHTMLをどういう風に作りこめばよいのか・・・

よろしければその辺も詳しく教えていただければ

ありがたいです。

2004/03/19 16:10:25
id:chokobo No.3

chokobo回答回数34ベストアンサー獲得回数42004/03/19 16:08:52

ポイント23pt

できます。簡単なスクリプトで試してみてください。

shohin.csvファイルとして下の3行を作る

---

1,みかん

2,りんご

3,スイカ

---

index.phpとして以下のファイルを作る

---

<form action=”index.php” method=”post”>

<input name=”choice_num” value=”” type=”text” />

<input name=”submit” value=”submit” type=”submit” />

<?php

if($_POST[’choice_num’]) {

$fp = fopen(’shohin.csv’,’r’);

while ($line = fgetcsv($fp,1024) ) {

if($_POST[’choice_num’] ==$line[0]) {

echo $line[1];

}

}

}

?>

同じディレクトリに入れて、アクセス.フォームで1とか2とか入れてみてください。

なお、サイトはいくらでもありますが、

入門的には、

http://ponk.jp/php_file/index.php

PHPでファイルの読み書き・掲示板

あたりが、お勧めです。

id:misia

おぉ! なるほど!!

早速やってみます。

2004/03/19 16:12:11
id:magicdrop No.4

magicdrop回答回数1ベストアンサー獲得回数02004/03/19 17:33:36

ポイント11pt

http://www.rescue.ne.jp/

CGI RESCUE - ネットサーフレスキューWeb裏技

こちらのCGIによるCSVエディタスクリプトなどにはよくお世話になっています。超有名サイトですのでご存じかもしれませんが、ご参考になれば幸いです。

id:misia

そうですね。知っていました。

2004/03/19 17:49:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません