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

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

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

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

CakePHP

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

Q&A

解決済

1回答

2400閲覧

cakephpでのFormHelperでリスト出力する場合

takeshi556

総合スコア90

PHP

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

CakePHP

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

0グッド

0クリップ

投稿2016/07/10 23:00

cakephp2.8を使っております。
下記コードでblogテーブルにあるuser_idがinputにリスト化されますが
例えばuserに20項目入っていた場合、10番目まで出力したい場合と11番目から20番目まで分けたい場合は
どのようにすればよろしいでしょうか?
コントローラーのfindのconditionsでどちらかは出力することができました。
ご教授いただけますでしょうか。
よろしくお願いいたします。

php

1//コントローラー 2public function index() { 3 4$users = $this->Job->User->find('list'); 5 6$this->set('users', $users); 7} 8 9 10//ビュー 11<?php echo $this->Form->create('blog')?> 12 13<?php echo $this->Form->input('user_id');?> 14 15<?php echo $this->Form->end();?>

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

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

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

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

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

guest

回答1

0

ベストアンサー

データの取得はできているんですよね。

フォームに表示したい配列をフォームヘルパーの第2引数に設定します。

配列のキーには、セレクトボックスのoption(個々の項目)のvalueに設定する値を入れます。配列の値にはセレクトボックスで表示する文字列を入れます。

PHP

1// ビュー 2echo $this->Form->input('user_id1', ['options' => $user_id1]); 3echo $this->Form->input('user_id2', ['options' => $user_id2]); 4 5または 6 7echo $this->Form->select('user_id1', $user_id1) 8echo $this->Form->select('user_id2', $user_id2)

それぞれをPOSTしたら、user_id1やuser_id2というキー(プロパティ)で取得できます。
debug($this->request->data);などで確認してみてください。

投稿2016/07/11 02:36

編集2016/07/11 02:38
coba-coba

総合スコア1409

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

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

takeshi556

2016/07/11 13:06

ご返答誠にありがとうございます。 ご返答の通り、データの取得はできております。 質問の仕方が悪く失礼しました。 実はFormHelperで作ったものをcake DC Search Pluginに投げておりまして user_idを二つに分けてしまうと別々の検索項目になってしまうため、 user_idを一つのまま検索に投げたかったのです。 なぜ別ける必要があるかと言いますと、デザイン上、複数あるinputの間に別のタグを挿入したいからです。 現在はjqueryでタグを挿入する方法を考えていますが、できましたらCakephpだけで行えたらと思い質問させていただきました。
coba-coba

2016/07/11 14:51

そうだったんですね。見当外れですみません…。 実際のコードや欲しい出力結果のイメージなどが見られれば、もう少し具体的にお手伝いできるかもしれません。 cake DC Search Pluginは使ったことがないのですが、次のようにできませんか? 1.コントローラーやモデルで、ビューに表示するデータを取得 2.1.で取得したデータからuser_id1とuser_id2のグループに分けて、ビューのフォームヘルパーで表示 3.ビューから検索条件を送信。データの受信先でuser_id1またはuser_id2の値をuser_idに入れる 4.3.の条件で検索し、取得結果をビューに表示
takeshi556

2016/07/13 13:45

ご返信ありがとうございます。 データの受け側で配列の結合を行うんですね。 そのアイディアは思い付きませんでした。 多忙のため、まだ試せていませんが、できそうな気がします。 できましたらコードを書いてベストアンサーにさせていただきます。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問