
いつもお世話になっています。
Smartyに関して質問します。
以下のようなtemplateがあった場合に、
<html>
<head><title></title>
</head>
<body>
<selection name="hobby">
<option name="hobby[]" value="0" >スポーツ</option>
<option name="hobby[]" value="1">卓球</option>
</selection>
<div id ="hobby_details">ここに、選択された値により表示する内容を変える
</div>
</body>
</html>
セレクトが選択されたら、それをキーにdbに接続して値をとってき、
再度<div></div>内部に値を表示することはできないのでしょうか?
その場合として、pluginクラスを作って表示することはできないのでしょうか?
したいのが、セレクトボックスが選択されたときに、<div></div>内に値を表示したいのです。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
あまり難しく考えなくても
選択する度にPHP内でDB接続をして値をとってきて
テンプレート内に表示することは可能です
質問者さんのPHP内のデータベース接続が
どういった記述なのかわからないので
データベース接続部分は省略していますが
そちらもわからないようであれば
補足もしくは別に質問するのがいいでしょう
簡単な手ほどき的なものになりますが
更新させるためのサンプルを作ってみましたので
やってみてください
PHPとSmartyを使用しているのであれば理解できる内容です
テンプレートの記述(index.tplとして作成してみました)
<html>
<head>
<title>test</title>
<body>
<form method="post" action="index.php">
<select name="hobby" onChange="submit(this.form)">
<option>スポーツ</option>
<option value="0">卓球</option>
<option value="1">サッカー</option>
<option value="2">バレー</option>
<option value="3">リセット</option>
</select>
</form>
<div>
{if isset($str)}
{$str}
{/if}
</div>
</body>
</html>
php内の記述
if(isset($_POST['hobby'])){
#本来ならswitch文の内容はいらなく
#DBから値をもってきてテンプレートに送るだけの処理になります
switch ($_POST['hobby']){
case 0:
$smarty -> assign('str', '卓球');
break;
case 1:
$smarty -> assign('str', 'サッカー');
break;
case 2:
$smarty -> assign('str', 'バレー');
break;
}
}
$smarty -> display("index.tpl");
No.1
- 回答日時:
それはPHPでもSmartyでもなくJavaScriptの分野だと思います。
参考URLはjQueryのものですが、一番下にサンプルがありSELECTタグの選択値に応じてDIVの内容を変更してます。
> セレクトが選択されたら、それをキーにdbに接続して値をとってき、
をしたいならAjaxで取ってくるか、あらかじめDBの値をHTMLに書き出しておく必要があるので難易度が上がります。
まずはSELECTの切り替えでDIVを入れ替えるとこまで実装するのが良いでしょう。
それと、
><selection name="hobby">
selectionじゃなくてselectの間違いだと思います。
参考URL:http://semooh.jp/jquery/api/events/change/fn/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでのselect値の取得・表記に...
-
現在時刻を反映させた時刻のプ...
-
Smartyで、セレクトボックスが...
-
複数 selectフォームから今回on...
-
PHP セレクトボックスの値 GET...
-
変数の中身をある文字列を基準...
-
チェックボックス&セレクトボ...
-
PHP で画面の一部だけを変えたい。
-
日本語文字列の正規表現
-
連動させたいセレクトボックス...
-
laravelを利用してコントロール...
-
ストアドプロシージャーでルー...
-
Flaskでサーバー立ち上げに関して
-
同じページでフォームデータを...
-
フォームで作った送信ボタンが...
-
HTMLで前の画面に戻る時、入力...
-
カスタムフィールドテンプレー...
-
フォームへの前回入力値をクリ...
-
文字列から抜き出す
-
チェックボックスによる検索
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セレクトしたときに全て初期状...
-
【PHP&JavaScript】複数の別ウ...
-
連動させたいセレクトボックス...
-
MySQLのレコードを検索、...
-
複数のセレクトボックスを1つに...
-
input type="hidden"で送る値を...
-
「"」(ダブルクォーテーション)...
-
ドロップダウン、ラジオボタン...
-
都道府県選択
-
質問です!
-
検索フォーム(セレクトメニュ...
-
ループでチェックボックスにche...
-
phpのプルダウンメニューで選ん...
-
チェックボックス&セレクトボ...
-
DBの書き込み
-
phpでのselect値の取得・表記に...
-
PHP セレクトボックスの値 GET...
-
配列の要素数
-
複数 selectフォームから今回on...
-
データベースにある値でリスト...
おすすめ情報