前提・実現したいこと
以下の画面で、postした後、表示された画面で、selectプルダウンの値を選択したとおりに表示させたい
流れとしては、以下のとおりです。
1)selectプルダウンで値を選択した後、postします。
2)postされた値は、DBに登録されます。
3)次に、元のexample.phpの画面を再度表示しますが、このときには、DB登録値を読み込みますので、selectプルダウンはDBに登録した値を選択した状態にしたいです。
現状は、selectedされた状態にはならず、一番上の選択肢が表示されているだけです。
■試してみたこと
example.tpl
html
1<form method="post" action="example.php"> 2<table> 3<tr> 4 <td> 5 <select name="group[0]"> 6 {foreach from=$data.cooking.group key=k item=v} 7 <option value="{$k}" {if $smarty.post.group[0]|default:null == $v}selected{/if}>{$v}</option> 8 {/foreach} 9 </select> 10 <td> 11</tr> 12<tr> 13 <td> 14 <select name="group[1]"> 15 {foreach from=$data.cooking.group key=k item=v} 16 <option value="{$k}" {if $smarty.post.group[1]|default:null == $v}selected{/if}>{$v}</option> 17 {/foreach} 18 </select> 19 <td> 20</tr> 21<tr> 22 <td> 23 <select name="group[2]"> 24 {foreach from=$data.cooking.group key=k item=v} 25 <option value="{$k}" {if $smarty.post.group[2]|default:null == $v}selected{/if}>{$v}</option> 26 {/foreach} 27 </select> 28 <td> 29</tr> 30</table> 31<input type="submit" name="submit" value="登録"> 32</form>
php
1$data['cooking']['group'] = array( 2 1 => "主菜(肉)", 3 2 => "主菜(魚)", 4 3 => "汁物", 5 4 => "サラダ", 6 5 => "その他" 7);
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/28 05:02
2018/05/28 05:10
2018/05/28 05:35
2018/05/28 05:37
2018/05/28 05:43
2018/05/30 05:59