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 "}";
……正直めんどくさいけどしょうがないか。