アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在PHPに手を出し始めた初心者です
まだ分からない事だらけですが、できれば教えてください

CSVファイルからデータを読み込んで表示するということを
苦戦しながらやっております

ただ、1つのPHPファイルだけでの表示方法がわからず、今は3つのPHPファイルにしています

目的は大区分を選択後、小区分の一覧が表示され、小区分の1つを選択すると詳細が表示される
という感じのものです


まずCSVファイル

大区分,小区分,名称,詳細
1,101,hoge1,詳細1
1,102,hoge2,詳細2
2,201,hogex1,詳細x1
2,202,hogex2,詳細x2
3,301,hogexx1,詳細xx1


という感じに分けています

で1つ目のhoge0.phpで

<a href="hoge1.php?code=1">大区分(1)</a>
・・・

code が 1 なら hoge1.php で 小区分 1 の一覧を表示します

次に2つ目のhoge1.phpで

$code = $_GET['code'];
$lines = file('hoge.csv');
foreach($lines as $line) {
$line = rtrim($line);
list($bno,$sno,$name,$detail) = explode(",", $line);
if ($bno==$code) {
echo "<a href=hoge2.php?type=$sno>詳細</a>".$name."<br>";
}
}

type が 101 なら hoge2.php で 小区分 101 にある hoge1 項目の詳細を表示します

最後3つ目のhoge2.phpで

$type = $_GET['type'];
$lines = file('hoge.csv');
foreach($lines as $line) {
$line = rtrim($line);
list($bno,$sno,$name,$detail) = explode(",", $line);{
if ($no==$type) {
echo $name.$detail;
}
}
}

一応これでやりたい事は実現できたのですが、あまりにも不恰好で・・・
これを1つのPHP内で処理できるようにするにはどうしたらいいでしょうか?
スマートになるやり方があれば教えてください

A 回答 (2件)

とりあえず1つのファイルにしたいということで


下のように書いてみてはどうでしょうか?

if(isset($_GET['code']) == true){
//ここにhoge1.phpの内容を書く
}
else if(isset($_GET['type']) == true){
//ここにhoge2.phpの内容を書く
}
else{
//ここにhoge0.phpの内容を書く
}

issetは調べてもらうとすぐ理解できると思います。
    • good
    • 0
この回答へのお礼

ご変更ありがとうございます
issetっていうのは便利ですね
教えていただいた方法で表示することが出来ました

たぶんもっとスマートに出来るんでしょうけど、今の私ではこれが精一杯です
これからもっと勉強していきたいと思います

お礼日時:2005/03/28 12:26

$_SESSION に状態を保存して、$SCRIPT_NAME (自分自身)


に対してリクエストする。
リクエストの際、$_SESSION を確認して、値が入っているか(isset)を
確認することで、どの分類が選択されたかを確認できます。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます
$_SESSIONについて調べたのですが、どうもまだ手におえないようでした
探してもログインとかの情報だけで今ひとつ方法がわかりませんでした

もっと勉強して$_SESSIONのことについて勉強していきます

お礼日時:2005/03/28 12:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!