こちらの質問の続きです
https://teratail.com/questions/315011
PHPから出力したjsonをjsで利用したいのですが、
出力されたhtmlソースをみると
配列名がないただの配列になっているためどうやって利用すれば良いのかわかりません
php側で何か配列名を指定してあげるのか
js側で受け取る方法がある?のか
実際どんな感じになるのでしょうか。。。
php
1 2<?php 3 4json_encode($cgr_array,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES) 5
html
1[ 2 [ 3 "大分類", 4 "中分類", 5 "小分類", 6 "キーワード" 7 ] 8]
実際にやりたいのはこのような感じです
phpで出力した配列をjsで受け取り、セレクトボックスに値を入れたいです
php
1<?php 2 3defined('_JEXEC') or die; 4 5$db = JFactory::getDBO(); 6 7$cgr_array = array(); 8$sql = 'select items_main,items_sub,items_datails,keyword from table_field group by items_main,items_sub,items_datails,keyword'; 9$db->setQuery($sql); 10$results = $db->loadRowList(); 11$i = 0; 12foreach ($results as $row) { 13 $cgr_array2 = array($results[$i]['0'], $results[$i]['1'], $results[$i]['2'], $results[$i]['3']); 14 array_push($cgr_array, $cgr_array2 ); 15 $i += 1; 16} 17 18$i = 0; 19$full_string = ''; 20$full_string .= ' 21 22 <script> 23 ' . json_encode($cgr_array,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES) . ' 24 25 $(document).ready(function(){ 26 27 //ここで配列の内容を取得して配列の内容に応じてセレクトボックスに値を入れたい 28 fetch(document.forms).then(res=>res.json()).then(data=>{ 29 if(配列-大分類==""){ 30 if(配列-中分類==""){ 31 $("#sbox-keywords").append("<option value=" + 配列-キーワード + ">" + word + "</option>"); 32 } 33 }else{ 34 $("#sbox-keywords").append("<option value=" + word + ">" + 配列-キーワード + "</option>"); 35 } 36 37 }); 38 39 }); 40 41 </script> 42'; 43 44echo $full_string; 45
回答1件
あなたの回答
tips
プレビュー