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

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

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

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

HTML

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

Q&A

1回答

2681閲覧

Formのオプションの中身を動的に変更したい。

Shinog

総合スコア99

PHP

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

HTML

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

0グッド

0クリップ

投稿2015/10/02 09:50

はじめまして。

現在(Cake)PHPを利用しており、商品(レッスン)を購入するボタンを生成しようと考えています。
そこで、日程を選択した時、購入できる数値がその日程に合わせて動的に反映されるように実装したいと考えています。

php

1//View 2<?php foreach ($dates as $date): ?> 3 4//日程の選択 5<option value = "<?php echo h($date['Date']['id']); ?>"><?php echo h($date['Date']['date']); ?></option> 6 7//購入できる数値は$date['Date']['nokori'] 8<?php endforeach; ?>

調べてみたところ、以下の記事のようにJavascriptを利用すればいいことがわかりましたが、PHPとの連携のやり方がわかりません。
http://oni-on-design.com/2013/11/233

このような場合、どのようなコードを実装すればよいでしょうか?

何かお分かりの方は是非ともご教授のほどよろしくお願いします。

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

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

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

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

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

guest

回答1

0

$datesの上位に、$lessonがあるものだと想定します。

<select name="date" id="date"> <?php foreach ($dates as $date): ?> //日程の選択 <option value = "<?php echo h($date['Date']['id']); ?>"><?php echo h($date['Date']['date']); ?></option> //購入できる数値は$date['Date']['nokori'] <?php endforeach; ?> </select>

の記述の前に、レッスンを選ばせるselectが必要になります。

<select name="lesson" onchange="changeDates();"> <?php foreach ($lessons as $lesson): ?> //レッスンの選択 <option value = "<?php echo h($lesson['id']); ?>"><?php echo h($lesson['name']); ?></option> <?php endforeach; ?> </select>

$lessonは商品IDの$lesson['id']と商品名の$lesson['name']を持ち、
その商品一覧(配列)を$lessonsとしています。

また、サラッと書いていますが、selectタグにあるonchange="changeDates();"で、
商品を切り替えた時に、日付選択の要素を切り替えようって感じです。

日付要素の切り替えは、
1.要素を一旦削除
2.当該商品の要素を追加
という流れになります。
説明が長くなるので、こことかここを参考にしてみてください。

また日付データは、質問にあるとおりにやると切り替えができなくなるので、
Javascriptのデータとして出力する必要があります。先に上げたvar selectBoxあたりのような感じです。
これを商品ごとに分けて出力してみてください。

投稿2015/10/02 10:42

TetsujiMiwa

総合スコア1124

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問