php中调用mysql数据库,怎么嵌套查询。

<?php
$dosql->Execute("SELECT * FROM `#@__indexinfo` where B_name='了解我们'");
while($row = $dosql->GetArray())
{
?>
<ul>
<li style="WIDTH: 250px; background:#ffff00;"><img src="<?php echo $row['picurl']; ?>" border=0 /></li>
<li style="WIDTH: 700px; background:#ff00ff;">

<div style="WIDTH: 700px; MARGIN:0; padding:0;">
<UL style="MARGIN:0; padding:0;">
<?php
$S_S = $row['S_S'];
$dosql->Execute("select * from `#@__indexinfo` where B_name='了解我们' AND S_S=$S_S AND checkinfo=true ORDER BY orderid DESC,id DESC");
while($row2 = $dosql->GetArray()){
?>
<LI style="width:100px; height:30px; float:left;"><?php echo $row2['S_name']; ?></LI>

<?
}
?>
</UL>
</div>

</li>
</ul>
<?
}
?>

循环一次就跳出了,怎么让能循环输出所有符合条件的内容。

第1个回答  2012-03-30
外部的循环条件
while($row = $dosql->GetArray())
二级循环的条件
while($row2 = $dosql->GetArray()){
?>
<LI style="width:100px; height:30px; float:left;"><?php echo $row2['S_name']; ?></LI>
二级循环出来后$dosql->GetArray()肯定是假,当然只循环一次了本回答被提问者采纳
第2个回答  2012-03-28
var_dump($dosql->GetArray())下
你这个返回是什么?上一次Execute的值?
如果是整个查询的数组 用foreach执行
如果是一条数据 while循环 但是$dosql->GetArray()应该要跳到下一条指针才行
第3个回答  推荐于2018-03-26
执行过程:
(1)从外层查询中取出一个元组,将元组相关列的值传给内层查询。
(2)执行内层查询,得到子查询操作的值。
(3)外查询根据子查询返回的结果或结果集得到满足条件的行。
(4)然后外层查询取出下一个元组重复做步骤1-3,直到外层的元组全部处理完毕。   本回答被网友采纳
第4个回答  2012-03-30
用循环
第5个回答  2012-03-28
480
相似回答