私は自分のデータベースのテーブルにget要求を送信する休憩サービスを持っています。私は応答と配列を構築したい。私はこのコードで必要な配列構造を取得しますが、問題は一度ループするだけです。どうしてこれなの? 2番目の$結果を$ result2に変更すると、エンコードされた配列の代わりにfalseが返されます。SQLのwhileループは1回だけループします
/**
* @param int $id
* @url periodicalitem
* @return string
*/
public function getPeriodicalItem($id){
$mysqli = $this->db-> getConnection();
$query = 'SELECT * FROM periodicalitem WHERE
periodical_id = ' . $id;
$result = $mysqli->query($query);
$arr = array();
while ($row = $result->fetch_assoc()) {
$query = 'SELECT * FROM inst_codes WHERE id = ' . $row['inst_code'] . '';
$result = $mysqli->query($query);
while ($row2 = $result->fetch_assoc()) {
if($row['inst_code'] == $row2['id']){
$arr[$row2['id']] = array('name' => $row2['name'],
'data' => $arr[$row2['id']]['data'] ? array_push($arr[$row2['id']]['data'], $row) : array($row));
}
}
}
return json_encode($arr);
}
"While-loop in php ..."という意味ではありませんか? – jarlh
はい、もちろんあります! – Nirakander
ちょうど興味がありますが、SQLクエリのテーブルに参加するのではなく、なぜ2回ループするのですか? –