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

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

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

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

HTML

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

Q&A

解決済

2回答

9696閲覧

selectedが効かなくなった

earnest_gay

総合スコア615

PHP

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

HTML

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

0グッド

0クリップ

投稿2016/06/20 03:14

編集2016/06/20 03:15

下記記述でselected2000で表示されるのですが

$options = ""; for($i = 1950;$i <= $now;$i++){ $initial = $i == '2000' ? ' selected' : ''; $options .= "<option value=".$i.$initial.">".$i."年"."</option>"; }

下記記述だとselectedが効いていないのか1950からの表示になってしまいます。

$options = ""; for($i = 1950;$i <= $now;$i++){ $initial = $i == '2000' ? ' selected' : ''; $options .= "<option value=".$i.$initial.'年'.">".$i."年"."</option>"; }

んーどうすればよいでしょうか?

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

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

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

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

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

guest

回答2

0

var_dump($options)してみましょう.そもそもHTMLの属性をくくっていない点で,元の実装も不適切ですが…

前者

html

1<option value=1999>1999年</option> 2<option value=2000 selected>2000年</option> 3<option value=2001>2001年</option>

後者

html

1<option value=1999年>1999年</option> 2<option value=2000 selected年>2000年</option> 3<option value=2001年>2001年</option>

なお,アプリーケーション設計としては「年」はvalueに含めないほうが普通だと思います.私ならこう書きます.

php

1$options = ''; 2for ($i = 1950; $i <= $now; ++$i) { 3 $selected = $i === 2000 ? ' selected' : ''; 4 $options .= sprintf('<option value="%1$s"%2$s>%1$s年</option>', $i, $selected); 5}

投稿2016/06/20 03:21

編集2016/06/20 03:23
mpyw

総合スコア5223

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

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

0

自己解決

ミス質問です。

$options = ""; for($i = 1950;$i <= $now;$i++){ $initial = $i == '2000' ? ' selected' : ''; $options .= "<option value=".$i.'年'.$initial.">".$i."年"."</option>"; }

でした...

投稿2016/06/20 03:19

earnest_gay

総合スコア615

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

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

mpyw

2016/06/20 03:21

どちらにせよHTML属性を括らないのはやや不適切なので,ダブルクオートで括るようにしましょう.
earnest_gay

2016/06/20 03:31

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問