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

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

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

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

1513閲覧

別のページで取得しているDBのデータをforeachを使って表示させる

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/03/29 15:12

編集2018/03/29 16:17

PHP初心者です。

laravelを使用し、PHPで開発を行っています。
Logicファイルに、DBからデータをリストで取得する文は
先輩が書いてくれたので、indexファイルへデータを表示させる部分を私が作ります。

ヒントとして:foreachでぐるぐるまわす

と教えてもらいました。
別のページで取得しているデータを
indexファイルのforeachへ渡す方法が分かりません。
どうかご教授お願いします。

Logicファイル内関係コード

$view_data['a_data'] = (DB接続)->select_all('category', array('parent_category_code' => $category_a_code, 'delete_flg' => FLG_FALSE), array('disp_order' => 'ASC')); foreach($view_data['a_data'] as $k => &$category_b) { $category_b['category_c'] = (DB接続) ->select_all('category', array('parent_category_code' => $category_b['category_code'], 'delete_flg' => FLG_FALSE), array('disp_order' => 'ASC')); foreach($category_b['category_c'] as $k => &$category_c) { $help = (DB接続) ->select_all('help', array('category_c' => $category_c['category_code'], 'delete_flg' => FLG_FALSE), array('disp_order' => 'ASC')); $category_c['help'] = empty($help) ? array() : $help; } unset($category_c); } unset($category_b); return $view_data;

index.phpファイル

こういうこと?と書いてみた失敗コード

<? php foreach ($a_data as $row) { php echo $row['a_data']; php echo $row['category_b']; php echo $row['category_c']; ?>

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/03/29 15:32

とーりあえず、ソースコードをコードブロックに入れてインデントし、見やすくして助言を得られやすくするところからかなぁ…
退会済みユーザー

退会済みユーザー

2018/03/29 16:19

ご指摘ありがとうございます。できるだけ見やすくなるように修正いたしました。
退会済みユーザー

退会済みユーザー

2018/03/29 16:21

それで、Logicの方で return $view_data; しているということは、index.php ではそれが利用出来て、$a_data というのがそれであると判断してよいのですか?
退会済みユーザー

退会済みユーザー

2018/03/29 16:31

はい、viewにあるindex.phpにfor eachでぐるぐる回して表示するだけだから、と言われています。
退会済みユーザー

退会済みユーザー

2018/03/29 16:35

んーでも、Logicのほうみると、 $view_data['a_data'] っていうのがあって、a_dataというのは $view_data の要素のキー名のようにみえるんですけど、$a_data で取得した情報にアクセスできるようにしている部分が見当たらないので、かなりあやしいっす。
退会済みユーザー

退会済みユーザー

2018/03/29 16:36

ちょっと試しに、 print_r($a_data); してみてもらえますか?
退会済みユーザー

退会済みユーザー

2018/03/29 16:54

夜分に対応していただいてありがとうございます。作業最初、LogicからのデータをControllerを経由してviewのindex.phpへ渡すのかな?と考えて先輩へ相談しましたが、違うとの事でした。コードを試す件ですが、出社してからでないと試さなくて、申し訳ないのですが、改めてご連絡させてください。
退会済みユーザー

退会済みユーザー

2018/03/29 23:22

アンバサダーされた変数をunset で削除してるから起きそうではあるな
退会済みユーザー

退会済みユーザー

2018/03/30 03:30

返信が遅くなり申し訳ありません。出社間もなく先輩からご指導いただきまして、解決していましまいた。ご協力いただいたのに申し訳ありません。ちなみに、 print_r($a_data);ではちゃんと中身を見ることができ、配列内の要素名を指定し間違えていたことと多次元配列の為、foreachで取り出したたものをさらにforeachでぐるぐるまわすことをしていなかったことが原因でした。
guest

回答1

0

ベストアンサー

$a_dataの中に配列[Aさん、Bさん、Cさん]さらがそれぞれ[id、category_name]などをもっていて
さらに[Aさんの第1子、Aさんの第2子、Aさんの第3子]がいてそれぞれ[id、category_name]などをもっていて…という配列で$a_dataを入れ替えただけの$rowから全ての要素を一回foreachしただけで取り出そうとしていました。

以下のように解決しております。
※概要です

<?php foreach($a_data as $row) { echo $row['category_name']; foreach($row[' '] as $任意の変数名1) { echo $任意の変数名1['category_namea'];               foreach( $任意の変数名1[' '] as 任意の変数名2){ echo 任意の変数名2['category_namea']; } } } ?>

色々情報が足りなかったり、書き方の不備などあるなか
ご返信いただいた方々へ本当に感謝しております。
ありがとうございました。

投稿2018/03/30 04:07

編集2018/03/30 04:10
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問