我有两个表:tableA
和tableB
我想打印tableB
的列值。 我的表结构是如下:php循环从第二个表中获取值
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);
}
?>
[**请不要在新代码**中使用'mysql_ *'函数](http://bit.ly/phpmsql)。他们不再被维护[并被正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 – h2ooooooo 2013-03-04 07:14:48