[PHP]セレクトボックスとforeachループと配列

本日の写経!

今日は、セレクトボックスにたくさんの質問を入れる場合に便利な方法です!

質問をそれぞれ配列に入れてしまい、foreach文でループさせます。

syakyou013-1.php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>写経13</title>
</head>
<body>
<p>秘密の質問を選択して下さい。</p>
<form action="syakyou013-2.php" method="post">
<select name="question">
<?php
$question=[
    '好きな映画は?',
    '最初に飼ったペットは?',
    '初めて買った車は?',
    '卒業した小学校は?',
    '生まれた市町村は?',
    '両親の旧姓は?',
    '初恋の人の名前は?'
];
foreach($question as $item){
    echo '<option value="',$item,'">',$item,'</option>';
}
?>
</select>
<p>質問の回答</p>
<p><input type="text" name="answer"></p>
<p><input type="submit" value="確定"></p>
</form>
</body>
</html>

syakyou013-2.php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>写経13</title>
</head>
<body>
<?php
echo '<p>質問は「',$_REQUEST['question'],'」</p>';
echo '<p>回答は「',$_REQUEST['answer'],'」</p>';
?>
</body>
</html>

走らせてみると…

よく見る感じのやつですね。

「▼」を押すと…

たくさん、選択肢が表れます。

最初に飼ったペットについて記述すると…

下のように、返してくれます。

こうすることで、記述する量が減り、そうすることでミスが大幅に減ります。

参考:確かな力が身につくPHP「超」入門(Informatics & IDEA)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする