CSVやMySQLなどで条件に該当する要素をあるだけ書き出してプルダウンで表示させます。
その後、数多くある要素の中からある要素をデフォルトで表示させたいです。
具体例としては以下のような文字列です。
<select name="schoolcity<?=$s?>"> <option value="">市</option> <option value="">---------</option> <? $recordSet=mysql_query("SELECT * FROM city ORDER BY city_id"); while ($LowCity = mysql_fetch_assoc($recordSet)){ $SCITY_ID=htmlspecialchars($LowCity['city_id']); $SCITY_NAME=htmlspecialchars($LowCity['city_name']); ?> <option value="<?=$SCITY_ID?>" class="<?=$SCITY_ID?>"><?=$SCITY_NAME?></option> <?}?> </select>ちなみに<option selected="横浜市"(とある要素)>ではうまくいきませんでした。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
phpというより、htmlの問題ですね
html
1<select> 2 <option value=0>0</option> 3 <option value=1 selected="selected">1</option> 4 <option value=2>2</option> 5</select>
html
1<?php 2function h($str) 3{ 4 return htmlspecialchars($str, ENT_QUOTES); 5} 6 7$recordSet = mysql_query("SELECT * FROM city ORDER BY city_id"); 8?> 9<select name="schoolcity"> 10 <option value="">市</option> 11 <option value="">---------</option> 12 <?php while ($LowCity = mysql_fetch_assoc($recordSet)) : ?> 13 <?php if (条件式) : ?> 14 <option value="<?= h($LowCity['city_id']) ?>" class="<?= h($LowCity['city_id']) ?>" selected="selected"><?= h($LowCity['city_name']) ?></option> 15 <?php else : ?> 16 <option value="<?= h($LowCity['city_id']) ?>" class="<?= h($LowCity['city_id']) ?>"><?= h($LowCity['city_name']) ?></option> 17 <?php endif; ?> 18<?php endwhile; ?> 19</select>
投稿2016/04/22 13:06
編集2016/04/22 13:19退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/22 13:08
退会済みユーザー
2016/04/22 13:12
2016/04/22 13:16 編集
2016/04/22 13:15
退会済みユーザー
2016/04/22 13:21
2016/04/22 13:26
退会済みユーザー
2016/04/22 13:33
2016/04/22 13:38
退会済みユーザー
2016/04/22 13:45 編集
2016/04/22 14:25 編集
退会済みユーザー
2016/04/22 14:19
2016/04/22 14:20
退会済みユーザー
2016/04/22 14:21
2016/04/22 14:25
退会済みユーザー
2016/04/22 14:28
2016/04/22 14:47
2016/04/22 14:49 編集
退会済みユーザー
2016/04/22 15:03 編集
0
ベストアンサー
やりたい事と違っていたらごめんなさいです。
もともと登録した人がいるわけですよね。
それなら登録者テーブルなどがありますよね。
もしそうなら、
$kekkasetto=$dbhnd->query("select * from tourokusya where tourokusyamei='tourokusya'"); $hairetsu=$dbhnd->fetch_assoc(); $sumai=$hairetsu["sumai"]; $kekkasetto=$dbhnd->query("select * from kanagawa "); while($hairetsu=$dbhnd->fetch_assoc()){ if($hairetsu["shityousonn"]==$sumai) printf("<option selected=\"selected\" value=\"%i\">%s</option>",$hairetsu["id"],$hairetsu["shityousonmei"]); if($hairetsu["shityouson"]!=$sumai"]) printf("<option value=\"%i\">%s</option>",$hairetsu["id"],$hairetsu["shityouson"]); }
とすれば、ご希望の状況になると思います。
なんせ実証実験してないので申し訳ありません。
勘違いであればその旨おしらせください。
投稿2018/11/11 18:34
総合スコア156
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ちょっと見かけたのでこれで合っているかわからないけど
alter table SQLを使って県庁所在地カラムを用意します。
select id from kanagawa where id=(select kentyou from kanagawa);
のように取り出します。
while($hairetu=$dbhnd->fetch_assoc()){
if($hairetu==$kentyou) printf("<option selected="selected" value="%i">%s</option>",$hairetu["id"],$hairetu["name"]);
else printf("<option value="%i">%s</option>",$hairetu["id"],$hairetu["name"]);
}
のように出力すればよろしいのではないかと思いますが。
なんせ実証実験してなくてすみません。
投稿2018/11/11 08:31
総合スコア156
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
//Kosuke_Shibuyaさんの回答を曲解してるのかなあ。
とりあえず、別のアプローチを。
例えば、画面が表示されたタイミングで該当プルダウンを
JavaScriptで処理します。
先頭から順次参照して特定の要素がみつかったら
そのエントリを selectedIndex に設定する、と。
//余計に混乱させちゃった?
投稿2016/04/22 13:53
総合スコア7458
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。