【お題】NEW演歌

こんにちは。
MySQLのデータと連動してフォームでラジオボタンの入ったプログラムを書いているのですが、どうも期待したように動作させることができません。よろしくお願いします。

MySQLから検索してきたデータを一覧形式で表示し、各行に3つの選択枝を持ったラジオボタン群をつけたい。イメージとしては以下の通りです。

DATA 1 | あ | ●和食 ○中華 ○洋食
DATA 2 | い | ●和食 ○中華 ○洋食
DATA 3 | う | ○和食 ○中華 ●洋食
[更新ボタン]

更新ボタン1つなので、各行は 1つの<FORM></FORM>の中に入っています。各自のラジオボタンを name="syokuji1", "syokuji2"などと指定して動的に生成すれば受ける方のPHPでは $_POST["syokuji1"]などで取り出せるのですが、MySQLからのデータ数は一定ではないので、ループ等でデータを取り出せずに困っています。

希望はラジオボタンの値を syokuji[0], [1], [2]みたいな配列で取ってくることです。別に配列にこだわりませんが、ループ処理でデータを取り出せたらと考えています。

name="syoukuji[]"も試してみましたが、この場合全ラインで1つの選択しかできなくなってしまいました。

DATA 1 | あ | ○和食 ○中華 ○洋食
DATA 2 | い | ○和食 ○中華 ○洋食
DATA 3 | う | ○和食 ○中華 ●洋食
[更新ボタン]

ソースを貼ろうかと思いましたが、とりあえずは仕様の方から質問させていただきました。 よろしくお願いします。

A 回答 (2件)

タイトルと質問内容がずれている気がするので、あっているかどうか分かりませんが書いてみます。



例えば

<form method="POST>
<input type="radio" name="syokuji1" value="和食">和食
<input type="radio" name="syokuji1" value="中華">中華
<input type="radio" name="syokuji1" value="洋食">洋食
<input type="radio" name="syokuji2" value="和食">和食
<input type="radio" name="syokuji2" value="中華">中華
<input type="radio" name="syokuji2" value="洋食">洋食
<input type="submit" value="更新">
</form>

という感じでラジオボタンのグループを作成。
syokuji1では和食を選択、syokuji2では中華を選択し、更新ボタンを押せば

$_POST["syokuji1"] = "和食"
$_POST["syokuji2"] = "中華"

と、POSTを受け取る側では取り出すことができますが、これではダメなのでしょうか?
このsyokuji1~syokuji幾つか分からない数が続いていた場合に、このデータを取り出す方法が分からないのでしょうか?

このような場合は、foreachを利用します。
foreach($_POST as $key => $val){
echo "KEY = $key $val<br>";
}

参考URL:http://php.benscom.com/manual/ja/control-structu …
    • good
    • 0
この回答へのお礼

質問がわかりにくくてスイマセンでした。

>このsyokuji1~syokuji幾つか分からない数が続いていた場合に、このデータを取り出す方法が分からないのでしょうか?

そうです。この foreachを全然思いつきませんでした。(何度か使ったことはあるのですが)

おかげで先に進めそうですありがとうございました。

お礼日時:2008/03/25 01:59

<input type="radio" name="syokuji[1]" value="和食">和食


<input type="radio" name="syokuji[1]" value="中華">中華
<input type="radio" name="syokuji[1]" value="洋食">洋食
<input type="radio" name="syokuji[2]" value="和食">和食
<input type="radio" name="syokuji[2]" value="中華">中華
<input type="radio" name="syokuji[2]" value="洋食">洋食

というようにすればPHP側で配列でうけられますよね
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

質問するポイントがどうやってPOSTから取り出すかの方だったのに
ヘンな質問をしてしましました。 すいませんでした。

お礼日時:2008/03/25 02:00

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報