storenametable
+----+-----------+
| id | storename |
+----+-----------+
|  2 | 天字二号仓|
+----+-----------+
|  7 | 天字七号仓|
+----+-----------+
|  8 | 天字八号仓|
+----+-----------+storetable
+----+-----------+---------+--------+
| id |storenumber| product | number |
+----+-----------+---------+--------+
|  1 |    2      | 大米    |   10   |
+----+-----------+---------+--------+
|  2 |    7      | 玉米    |   10   |
+----+-----------+---------+--------+
|  3 |    7      | 面粉    |   15   |
+----+-----------+---------+--------+
|  4 |    8      | 花生    |   10   |
+----+-----------+---------+--------+
|  5 |    8      | 大豆    |   15   |
+----+-----------+---------+--------+ $sql = "Select * From `storenametable` where id>3 order by id desc limit 0,2 "; $dsql->Execute('st',$sql);
while($row = $dsql->GetArray('st'))
{ $sqlarc =  "Select * From `storetable` where storenumber={$row['id']} order by id desc limit 0,2 ";
$dsql->Execute('arc',$sqlarc);
while($rowarc = $dsql->GetArray('arc'))
{
    $data.='<a>'.$rowarc['product'].'</a>';
}
echo $data;
}郁闷,大家帮忙看看为什么此处echo结果是:
玉米 面粉 玉米 面粉 花生 大豆而不是:
玉米 面粉 花生 大豆就是说重复了一个 玉米 面粉

解决方案 »

  1.   

    你的storenametable表里面有两条id为7的记录吧!
    select count(*) from storenametable where id=7;
    看有几条记录。
      

  2.   

    storenametable 只有一条ID为7的记录哦
    这张表数据只有几条,一眼就能看到了
      

  3.   

    应该是这个方法GetArray('arc')的问题。
      

  4.   

    把GetArray()的代码发上来看看。
      

  5.   

    已经解决了。把echo $data; 移到第一个while之外
      

  6.   

    不放到外面也可以,在echo $data;后加一个$data="";