🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

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

Q&A

2回答

999閲覧

PHP プルダウンメニューの出力について

glutton

総合スコア4

PHP

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

0グッド

0クリップ

投稿2019/10/15 06:06

編集2019/10/15 07:46

前提・実現したいこと

HTMLの selectから
PHPで出力について

HTML と PHPで計算ツールを作成しています。

HTML

1<tr class="color"> 2 <td> 3 <select class="select1" name="select_1"> 4 <option value="地下鉄">地下鉄</option> 5 <option value="JR在来線">JR在来線</option> 6 <option value="JR新幹線">JR新幹線</option> 7 <option value="阪急">阪急</option> 8 <option value="京阪">京阪</option> 9 </select> 10 </td> 11 <td> 12//計算したい箇所1 * 13 <input type="text" class="price" name="price_1"> 14 </td> 15 <td> 16//計算させたい箇所2 = 17 <select class="traffic" name="traffic_1"> 18 <option value="0" ></option> 19 <option value="1" >片道</option> 20 <option value="2" >往復</option> 21 </select> 22 </td> 23 <td> 24//合計 25 <input type="text" class="total" name="total_1"> 26 </td> 27 </tr>

PHP

1if ($_POST['traffic_'.$i] == ''){ 2 ${"traffic_".$i} = ''; 3}else { 4 ${"traffic_".$i} = htmlspecialchars($_POST['traffic_'.$i],ENT_QUOTES,'UTF-8'); 5} 6 7<input type="text" name="" value="<?=$traffic_1?>"> 8

selectのvalue で計算させるのですが
出力した際に上記でいう
片道または往復と表示したいです。
上記では出力してもvalueの値が出てきます。
なるべくPHP内で処理をしたく
取り組みましたが、答えが出せずにいます。

試したこと
関数内にif文を入れて
文字(片道または往復)だけ出力しようとしました。

簡単にですが下記のように入力しました。

PHP

1function.traffic($w,$y){ 2 if ($w[$y] == 1) { 3 $s = "片道"; 4 } elseif ($w[$y] == 2) { 5 $s = "往復"; 6 } 7 return $s; 8}

どなたかご教授頂きたいです。

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

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

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

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

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

m.ts10806

2019/10/15 06:09

計算をさせているところがどこにも見受けられませんが何をもとにどう計算させたいのでしょうか
m.ts10806

2019/10/15 08:01

追記されたようですがこれだけでも意味がわかりません。 その関数がどう使われているとか、他者がコピペで再現確認できるコードを提示してください。 あと先に書きましたが、何をもとにどう計算させるのですか?計算処理がどこにも書かれていません。 あくまでプルダウンの値を受け取ってそのまま表示させているだけになっています
jinba

2019/10/15 09:14

「name="select_1"」で「地下鉄」を選択した場合 「name="price_1"」に何が入るを求めてますか? 「name="select_1"」で「阪急」を選択した場合 「name="price_1"」に何が入るを求めてますか? 「name="select_1"」で「地下鉄」を選択「name="traffic_1"」で「片道」を選択した場合 「name="total_1"」に何が入るのを求めてますか? 「name="select_1"」で「地下鉄」を選択「name="traffic_1"」で「往復」を選択した場合 「name="total_1"」に何が入るのを求めてますか? 上記質問に答えてくだされば分かるかもしれません。 またPHPのみで計算するにはselectの選択結果をsubmitする必要があります selectを選択した時点で計算させようとするならばjavascriptを使う必要があります
guest

回答2

0

selectのvalue で計算させるのですが

出力してもvalueの値が出てきます。

select に項目が2つあって、それぞれ、0, 1 であることはわかります。
項目名も、片道 往復 とあるので、なんか、交通とか、旅行関連のものを作っているのだろうなと読み取れます。

じゃあ、「計算」って?

何をどう計算したいの?
交通費?手数料?
その定義はどうなっているの?

出力してもvalueの値が出てきます。

それはソースを見ればわかるけど、じゃあ、何を出力したいの?

回答するにも、何がしたいのか、ゴールは何かを具体的に質問してくださいね。

投稿2019/10/15 06:12

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

なにをどうやってとってどうしたいのかわからないですが
配列っぽく処理してください

PHP

1<?PHp 2$traffic=filter_input(INPUT_POST,'traffic',FILTER_VALIDATE_INT,FILTER_REQUIRE_ARRAY); 3var_dump($traffic); 4?> 5<form method="post"> 6<select class="traffic" name="traffic[0]"> 7<option value="0" ></option> 8<option value="1" >片道</option> 9<option value="2" >往復</option> 10</select> 11<select class="traffic" name="traffic[1]"> 12<option value="0" ></option> 13<option value="1" >片道</option> 14<option value="2" >往復</option> 15</select> 16<select class="traffic" name="traffic[2]"> 17<option value="0" ></option> 18<option value="1" >片道</option> 19<option value="2" >往復</option> 20</select> 21<input type="submit" value="send"> 22</form> 23

投稿2019/10/15 06:10

yambejp

総合スコア116694

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問