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

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

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

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Q&A

解決済

1回答

791閲覧

JSONを受け取って表示したいです

ktk

総合スコア25

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

0グッド

0クリップ

投稿2019/01/24 08:21

編集2019/01/24 08:55

前提・実現したいこと

JSONを受け取って表示の仕方が詰まっています…

・どうやってレスポンスを返すのか
<script>の中で${}での表示のさせ方のイメージが分からない状況です。

JSONは仮で作成していますが。

表示はsample.tpl

<dd>${Year}<dd>JSONの年度を取得

JSONを受け取って2018を表示したいです。

jQuery,FuelPHP1.7,OR,PHPで実現したいです。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

jQuery,PHP

1<?php 2 3$value_array = array( 4 "status" => "true", 5 "message" => "テスト結果の取得に成功しました", 6 "data" => array( 7 "RequestID" => "BBBB", 8 "Name" => "テスト太郎", 9 "Result" => array( 10 11 "TestTitle" => "テストBASIC", 12 "Year" => 2018, 13 "PassedFlg" => true 14 ), 15 array( 16 "TestTitle" => "テストBASIC", 17 "Year" => 2017, 18 "PassedFlg" => true 19 ) 20 ), 21 "bb" => "bbb", 22 "bbb" => array( 23 "cc" => "ccc", 24 "dd" => "ddd" 25 ) 26); 27 28// JSON_PRETTY_PRINTを指定して、改行とインデントを指定する 29$jsonstr = json_encode($value_array, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); 30 31print_r($jsonstr); 32 33?>
{literal} <script> <dd> <table> <tbody> <tr> <th>${year}</th> <th>${year}</th> <th>${year}</th> </tr> <tr> <td>合格(1)</td> <td>合格(2)</td> <td>未受験</td> </tr> </tbody> </table> </dd> </script> {/literal}

試したこと

PHPで仮のJSONを作って表示したいと思いますが。ほかのやり方やアドバイスなどあればよろしくお願いします。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

azuapricot

2019/01/24 08:22

ユーザーを地味に変えて同じ質問をしているのはなぜですか?
ktk

2019/01/24 08:25

普段ログインしないほうで質問してしまったので通知も受け取れないと思い同じ質問をしました。
azuapricot

2019/01/24 08:27

では普段ログインする方の質問以外は削除してください。 同じ質問は不要です。
ktk

2019/01/24 08:31

しました
yambejp

2019/01/24 08:37

上の方のjson文字列を作る部分と、下の部分のテンプレート(?)が どういった相関関係なのかさっぱりわかりません。 phpでかく限りjsonである意味もありません
ktk

2019/01/24 08:42

JSON文字列は仮のJSONを作成しているつもりです。 表示は下のコード側で行いたいと思います。 イメージとしてはAPIがない状況なのでとりあえず仮のJSONを作って表示だけを行いたいと思っています。
yambejp

2019/01/24 08:45

つまりphpの配列や連想配列を単にjsonにして表示するだけでいいのですか? それならご提示のソースですでにできていると思いますが? (print_rは流石にないですが、echoかprintで出力するだけ)
ktk

2019/01/24 08:50

そうです。 JSONは表示できてるとは思いますが、 JSONを受け取って表示の仕方が詰まっています… ・どうやってレスポンスを返すのか ・<script>の中で${}での表示のさせ方のイメージが分からない状況です。
azuapricot

2019/01/24 08:51

↑それを質問文に書きましょう
yambejp

2019/01/24 09:02

とりあえず回答をつけておきました 動作確認してみてください
guest

回答1

0

ベストアンサー

イマイチ要領を得ないのですが、こんな感じですか?

  • main.html

javascript

1<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 2<script> 3$(function() { 4 $.ajax({ 5 url:"json.php", 6 dataType:"json", 7 }).done(function(data){ 8 var year=data.data[0].Year; 9var html=`<table> 10<tbody> 11<tr> 12<th>${year}</th> 13<th>${year}</th> 14<th>${year}</th> 15</tr> 16<tr> 17<td>合格(1)</td> 18<td>合格(2)</td> 19<td>未受験</td> 20</tr> 21</tbody> 22</table>`; 23 $('#view').html(html); 24 }); 25}); 26 27</script> 28 29<div id="view"></div>
  • json.php

PHP

1<?php 2$value_array = array( 3 "status" => "true", 4 "message" => "テスト結果の取得に成功しました", 5 "data" => array( 6 "RequestID" => "BBBB", 7 "Name" => "テスト太郎", 8 "Result" => array( 9 10 "TestTitle" => "テストBASIC", 11 "Year" => 2018, 12 "PassedFlg" => true 13 ), 14 array( 15 "TestTitle" => "テストBASIC", 16 "Year" => 2017, 17 "PassedFlg" => true 18 ) 19 ), 20 "bb" => "bbb", 21 "bbb" => array( 22 "cc" => "ccc", 23 "dd" => "ddd" 24 ) 25); 26$jsonstr = json_encode($value_array, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); 27print $jsonstr; 28?>

投稿2019/01/24 09:01

yambejp

総合スコア114829

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

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

ktk

2019/01/24 09:13

ありがとうございます。すごく助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問