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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

2023閲覧

【PHP】HTMLのセレクタを選別する方法

phiilo_

総合スコア85

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/10/26 04:34

下記のようなHTMLのセレクターがあるとします。
https://jsfiddle.net/d38bhufc/

HTML

1<select> 2 <option value=""></option> 3 <option value="1997">1997</option> 4 <option value="1996">1996</option> 5 <option value="1995">1995</option> 6 <option value="1994">1994</option> 7 <option value="1993">1993</option> 8 <option value="1992">1992</option> 9 <option value="1991">1991</option> 10 <option value="1990">1990</option> 11 <option value="1989">1989</option> 12 <option value="1988">1988</option> 13</select>

【やりたい事】
PHPで、ある変数が「1993」の値を持っている場合、

<option value="1993" selected>1993</option> というように、セレクターを選択させている状態にしたいです。

PHP

1<?php 2 3 $TANJOBI = "1993"; 4 $array = array( 5 6 "1988","1989","1990","1991","1992","1993","1994","1995","1996","1997" 7 8 ); 9 10 foreach($array as $val){ 11 12 if($TANJOBI == $val){ 13 14 echo'<option value='.'"'.$val.'" selected'.'></option>'; 15 16 } 17 18 } 19

変数に「1993」が入っていた場合、1箇所のオプション要素
を出力させる事まではできています。下記のように出力させる
にはどのようにすれば良いでしょうか?

HTML

1<select> 2 <option value=""></option> 3 <option value="1997">1997</option> 4 <option value="1996">1996</option> 5 <option value="1995">1995</option> 6 <option value="1994">1994</option> 7 <option value="1993" selected>1993</option> 8 <option value="1992">1992</option> 9 <option value="1991">1991</option> 10 <option value="1990">1990</option> 11 <option value="1989">1989</option> 12 <option value="1988">1988</option> 13</select>

その他にご不備等ありましたら、お手数ですが
ご指摘をお願いいたします。

ご回答よろしくお願いします。

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

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

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

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

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

madoka9393

2018/10/26 04:41

JavaScriptは使用しないで実現したい感じですかね?
dice142

2018/10/26 04:41

現状の出力はどうなっているのでしょう?
phiilo_

2018/10/26 04:55 編集

madoka9393様 JS使っても良いと思いますが、できればPHPで完結したいです。
phiilo_

2018/10/26 05:03

dice142様 記載してある通りですが、無事解決しました!
guest

回答3

0

ベストアンサー

こうですか?

PHP

1<select> 2<?PHP 3$TANJOBI = "1993"; 4$array = array( 5 "1988","1989","1990","1991","1992","1993","1994","1995","1996","1997" 6 ); 7foreach($array as $val){ 8 $selected=($TANJOBI == $val)?" selected":""; 9 echo "<option value=\"{$val}\"{$selected}>{$val}</option>\n"; 10} 11?> 12</select>

投稿2018/10/26 04:43

yambejp

総合スコア114572

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

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

phiilo_

2018/10/26 04:59

Great!です。以前にもご回答いただいた事があったかと思いますが、 毎回、短的で素晴らしいコードをお書きになられますね。感動しました! 見習いたいです〜
guest

0

else句でこうすればいいはずです。

php

1if($TANJOBI == $val){ 2 echo'<option value='.'"'.$val.'" selected'.'></option>'; 3} else { 4 echo'<option value='.'"'.$val.'"></option>'; 5}

投稿2018/10/26 04:41

tomoyuki123

総合スコア273

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

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

phiilo_

2018/10/26 05:06

これも動作しました!シンプルで良いですね。
guest

0

php

1 $default = ""; 2 if($TANJOBI == $val){ 3 $default = " selected"; 4 } 5 echo'<option value='.'"'.$val.'"'.$default.'></option>';

投稿2018/10/26 04:46

m.ts10806

総合スコア80765

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問