WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:変数の持ち方

0:[投稿] だい [2004/04/13 00:19 ][環境:IE6.0、WINXP PHP、MYSQL]

こんばんは。2日前からPHPを初めました。
今までCGIを2年ほどやっていたのですが、ここ最近VBばかりやっていた為に、ちょっと行き詰ってしまって、質問したいことがあります。

それは変数名なんですが、複数件分のデータを入力できるフォームが在る場合、項目として

名前1 住所1 電話番号1
名前2 住所2 電話番号2
        ・
        ・
        ・
名前n 住所n 電話番号n

といった形でn件のデータを入力できるとする場合、
個々の変数の持ち方を
<input type="text" name="name1">
<input type="text" name="address1">
<input type="text" name="phone1">
<input type="text" name="name2">
<input type="text" name="address2">
<input type="text" name="phone2">
<input type="text" name="name3">
<input type="text" name="address3">
<input type="text" name="phone3">

という形でn個分のデータを数値として1ずつ足しています。

こういった形で変数名を決めてしまうと、
submitボタンを押した後に渡るデータが
?name1=だい&address1=北海道&phone1=010・・・&name2=まさ&・・・

という風になるので

プログラムでその変数名を呼び出す時に
for文などの繰り返し命令を使い呼び出したいのですが、
for($i=0;$i<$maxrows;$i++){
 $data = '$name' . $i;
 print "$data";
}

上のプログラムで
print "$data";
の部分で繰り返しを行っていくうちに
$name1,$name2・・・といった感じで
変数名をもてればいいのですが、
自分の力では美味くいきませんでした。

こういった場合変数名のつけ方でよい方法などありましたら、
教えていただけませんでしょうか。
よろしくお願いします。


1:[回答] PHPなら [2004/04/13 11:00 ]

INPUTのnameの名前をname="name[0]",name="name[1]"…のように配列の形で名前付けすれば、配列として渡せたはずです。


2:[回答] kak [2004/04/13 11:02 ]

ども。

Perlでやるときも配列とかハッシュにすればわかりよいんでは?
変数が増えると後でソースが追い難いですし。

でわ。


3:[完了] だい [2004/04/13 12:43 ]

PHPなら様、kak様
回答ありがとうございます。

変数名に配列やハッシュも使えることを初めて知りました。
2年間CGIやってきて何やってたんだろう・・・
今まで無茶して作ってきたプログラムなどもあります(汗

今実験を終えまして、配列で渡したらちゃんとデータが
渡りました。

今日の午前中、この事をずっと考えていまして、
QUERY_STRINGを使ってsplitで無理やり配列に入れて
引っ張り出そうと考えていましたが、
これでそんな苦労することなく出来ると思います。

本当にありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World