json_encode()で作ったデータをつなぎたい。
最初はMySQLのクエリでLEFT JOINしようとしたんだけど、欲しいデータが2重ループみたいな感じになっている。
foo1 bar1 bar2 foo2 barA barB barC
MySQLのLEFT JOINで作ると、1段階目のデータが重複してちょっと扱いづらい。まぁ重複して出て来たデータは無視すりゃいいんだけども。
foo1 bar1 foo1 bar2 foo2 barA foo2 barB foo2 barC
MySQLの結果もらってfetchで回す時に、2重ループ作るしかないか…。
while($result1=$stmt->fetch(PDO::FETCH_ASSOC)){ echo json_encode($result1); while($result2=$stmt->fetch(PDO::FETCH_ASSOC)){ echo json_encode($result2); } }
いや、待てこれもダメだな。json_encode($result1)の中にjson_encode($result2)を入れてやらないといかんのだな。$result1開いて書くしかないか……。
echo "{"; while($result1=$stmt->fetch(PDO::FETCH_ASSOC)){ echo $resutl1['hoge']; echo $result1['honya]; while($result2=$stmt->fetch(PDO::FETCH_ASSOC)){ echo json_encode($result2); } } echo "}";
……正直めんどくさいけどしょうがないか。