次のような 2 つの関連テーブルが設定されていると仮定します。table_2: account_id、person_id、account_type、balance;
次のような結果を表示したい:
(A)person_id - 名前: (a)account_type - 残高、(a)account_type - 残高、(a)account_type - 残高
(B)person_id - 名前: (b)account_type - 残高
(C)person_id - 名前: (c)account_type - 残高、(c)account_type - 残高
以下は私がこれまでに持っているものです (2 つのクエリで行うべきか、1 つの結合されたクエリで行うべきかわかりませんでした) また、$where1 と $search は、現在ページで既に機能しているユーザー入力検索フィールドです。そして、 $y は変数を渡すための愚かな試みでしたが、これは私がやろうとしていることに対する正しい解決策ではないと思います:
$q = "SELECT person_id,
FROM table_1 WHERE $where1 LIKE '$search%'";
$r = @mysqli_query ($dbc, $q);
$q2 = "SELECT person_id, balance, account_type
FROM accounts WHERE person_id LIKE '$y%'";
$r2 = @mysqli_query ($dbc, $q2);
while($row = mysqli_fetch_array($r)) {
echo $row['person_id']. " - " .$row['name']. ":";
$y = $row['person_id'];
echo "</br>";
while($row = mysqli_fetch_array($r2)) {
echo $row['account_type']. " - " .$row['balance'] ."</br>";
}
echo "</br>";
}
現在、これは次のように表示されます。
(A)person_id - 名前: (a)account_type - 残高 (a)account_type - 残高 (a)account_type - 残高 (b)account_type - 残高 (c)account_type - 残高 (c)account_type - 残高
(B)person_id - 名前:
(C)person_id - 名前:
while 内の while はこれが機能する方法だと思いますが、正確にどうすればよいかわかりません。また、このようなものの上に明らかにコードがありますが、そのようなものはすべて機能しており、ほとんどはデータベース接続と検索フォームを開くことに関連しています。
また、ここに含めたコードはサンプル コードであり、別の方法で間違っている可能性がありますが、ほとんどの場合、クエリと再帰を構築してデータを希望どおりに表示する方法の全体的なアイデアを探しています。表示されます。
どうぞよろしくお願いいたします。