请教一个循环嵌套,大家帮忙看看吧

chetnik 2009-11-01 09:13:31
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结果是:
玉米 面粉 玉米 面粉 花生 大豆

而不是:
玉米 面粉 花生 大豆

就是说重复了一个 玉米 面粉
...全文
119 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chetnik 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zhoupuyue 的回复:]
不放到外面也可以,在echo $data;后加一个$data="";
[/Quote]哦,这个很好。结贴给你。

十分感谢。这问题折腾几天了。
真的很难用言语表达我现在的心情。谢谢。。谢谢。。。
虽然双循环会慢,但现在实在没办法,最起码先做出个效果。
阿_布 2009-11-02
  • 打赏
  • 举报
回复
不放到外面也可以,在echo $data;后加一个$data="";
chetnik 2009-11-02
  • 打赏
  • 举报
回复
不过这样执行效率不高.唉....
chetnik 2009-11-02
  • 打赏
  • 举报
回复
已经解决了。把echo $data; 移到第一个while之外
阿_布 2009-11-02
  • 打赏
  • 举报
回复
把GetArray()的代码发上来看看。
chetnik 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhoupuyue 的回复:]
应该是这个方法GetArray('arc')的问题。
[/Quote]这有什么问题?
阿_布 2009-11-02
  • 打赏
  • 举报
回复
应该是这个方法GetArray('arc')的问题。
chetnik 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liuyang1588 的回复:]
distinct
[/Quote]请问一下具体怎么做呢?
liuyang1588 2009-11-02
  • 打赏
  • 举报
回复
distinct
xuzuning 2009-11-02
  • 打赏
  • 举报
回复
问题出在你的数据库操作类中
liuyang1588 2009-11-02
  • 打赏
  • 举报
回复
distinct
chetnik 2009-11-02
  • 打赏
  • 举报
回复
各位请帮忙看看哦。
chetnik 2009-11-01
  • 打赏
  • 举报
回复
storenametable 只有一条ID为7的记录哦
这张表数据只有几条,一眼就能看到了
linxiuzhang 2009-11-01
  • 打赏
  • 举报
回复
我们还没学到那去 ,知道了回复你。
阿_布 2009-11-01
  • 打赏
  • 举报
回复
你的storenametable表里面有两条id为7的记录吧!


select count(*) from storenametable where id=7;


看有几条记录。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧