私は 2 つのテーブルを持っています:の列の値を出力したいと思いtableA
ます。私のテーブル構造は以下の通りです:tableB
tableB
Table A
-id--------Name-----
1 A
2 B
3 C
4 D
--------------------
Table B
tableB_id-----------tableA_id-------------value-------
1 1 68
2 1 94
3 1 97
4 1 88
5 1 93
6 1 69
7 1 95
8 2 68
9 2 94
10 3 68
11 4 68
12 4 95
------------------------------------------------------
最終的な出力は、値をコンマで区切って、以下のようにする必要があります
id------Name----------value-----------------------------------------
1 A 68,94,97,88,93,69,95
2 B 68,94
3 C 68
4 D 68,95
以下のコードを試しました:
ここでは、 の各 ID に対して、として表さtableA
れる複数のprint_r($arr1)
コマンドがありますFIRST
。コードでは重複した値を出力していますが、コマンドSECOND
は正しい値を取得しているように再現されています。
私の質問は、FIRST
コード部分で値の重複を避ける方法です
<?php
$rs = mysqli_query($dbc,"SELECT * FROM `tableA` limit $offset,$rows");
$items = array();
$a=0;
while($row1 = mysqli_fetch_object($rs))
{
$qry1 = mysqli_query($dbc,"SELECT tableB.value FROM tableA ,tableB WHERE tableA.`tableA_id`=tableB.`tableA_id` AND tableA.`tableA_id`='".$row->id."'");
$i=0;
while($row2 = mysqli_fetch_assoc($qry1))
{
if($row2['id']=$row1->id)
{
$arr1 = $row2['value'];
}
print_r($arr1); // SECOND
$i++;
}
print_r($arr1); // FIRST
array_push($items, $row1);
}
?>