質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.45%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

556閲覧

プルダウンの中をグループ化したい

mikiko.s

総合スコア14

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2021/12/21 06:32

学校のデータをデータベースから取得し、プルダウンで表示させているのですが、
プルダウンの中を市区別で表示させたいと考えています。
ソースをどのように書けば良いか試行錯誤しています。

<select name="eschool"> <?php  $recordSet_eschool=mysqli_query($conn, "SELECT * FROM eschool2023");  while ($Search = mysqli_fetch_assoc($recordSet_eschool)){  $ESCHOOLID=htmlspecialchars($Search['id']);  $ESCHOOLNAME=htmlspecialchars($Search['name']);  $ADDRESS1=htmlspecialchars($Search['address1']); ?> <option value="<?=$ESCHOOLID?>"><?=$ESCHOOLNAME?></option> <?php }?> </select>

$ADDRESS1が市区の情報なのですが、
プルダウンの中を下記のように
分けて出したいと考えています。

A市
a小学校
b小学校
c小学校

B市
d小学校
e小学校
f小学校

ご教示のほど、どうぞよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

PHP

1function h($str){ 2 return htmlspecialchars($str); 3} 4$datas=[ 5 ['address'=>'A市','name'=>'a小学校'], 6 ['address'=>'A市','name'=>'b小学校'], 7 ['address'=>'A市','name'=>'c小学校'], 8 ['address'=>'B市','name'=>'d小学校'], 9 ['address'=>'B市','name'=>'e小学校'], 10 ['address'=>'B市','name'=>'f小学校'], 11 ]; 12print "<select>".PHP_EOL; 13$prev=""; 14foreach($datas as $data){ 15 if($prev!==$data['address']){ 16 if($prev!==""){ 17 print "</optgroup>".PHP_EOL; 18 } 19 print "<optgroup label=\"".h($data['address'])."\">".PHP_EOL; 20 } 21 print "<option value=\"".h($data['name'])."\">".h($data['name'])."</option>".PHP_EOL; 22 $prev=$data['address']; 23 if($data==end($datas)) print "</optgroup>".PHP_EOL; 24} 25print "</select>";

投稿2021/12/21 06:56

yambejp

総合スコア115102

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mikiko.s

2021/12/21 07:21

回答いただきありがとうございます。ジャバスクリプトを使うのですね。 市区名と小学校名は、データベースから引っ張ってくるのですが、 $datas=[ ]の中に繰り返しで入れるなら、どのように記述すればよいか教えていただけないでしょうか。
m.ts10806

2021/12/21 07:49

当回答は全てPHPで、HTMLを出力しているだけに見えます。
yambejp

2021/12/21 09:29

おそらくDBから受け取っているのだろうなーという想定でPHPで記載してあります
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.45%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問