Php 嵌套while循环问题,第二个循环只循环一次并停止
我有编码问题,我无法解决自己,所以需要您的帮助 我有两个查询从同一个表中获取数据:Php 嵌套while循环问题,第二个循环只循环一次并停止,php,sql,while-loop,group-by,Php,Sql,While Loop,Group By,我有编码问题,我无法解决自己,所以需要您的帮助 我有两个查询从同一个表中获取数据: $rs\u main\u model使用分组方式获取所有唯一的模型 $rs_variant获取所有模型及其各自的选项,即表中的所有列 我要做的是运行while循环以列出所有唯一的模型-$rs\u main\u model,然后在同一个div中运行第二个循环以列出$rs\u variant中的所有匹配模型: <?php while (!$rs_main_model->EOF) { ?>
$rs\u main\u model
使用分组方式获取所有唯一的模型
$rs_variant
获取所有模型及其各自的选项,即表中的所有列
我要做的是运行while循环以列出所有唯一的模型-$rs\u main\u model
,然后在同一个div
中运行第二个循环以列出$rs\u variant
中的所有匹配模型:
<?php while (!$rs_main_model->EOF) { ?>
<div>
<div>
<h2<?php echo $rs_main_model->fields['model']; ?></h2>
</div>
<div>
<?php while (!$rs_variant->EOF) { ?>
<?php echo $rs_variant->fields['variant']; ?>
<?php $rs_variant->MoveNext(); } ?>
</div>
</div>
<?php $rs_main_model->MoveNext(); } ?>
我应该对进行哪些更改,而循环才能使其正常工作?
谢谢大家! 您应该使用$rs_main_model->fields['model']作为条件,在外部循环中的每次迭代中更新$rs_variant结果。试试下面的方法
<?php while (!$rs_main_model->EOF) { ?>
<div>
<div>
<h2<?php echo $rs_main_model->fields['model']; ?></h2>
<?php $sql_variant = "SELECT * FROM tbl_catalog WHERE model_body = '".$rs_main_model->fields['model_body']."'"; $rs_variant = $db -> Execute($sql_variant); ?>
</div>
<div>
<?php while (!$rs_variant->EOF) { ?>
<?php echo $rs_variant->fields['variant']; ?>
<?php $rs_variant->MoveNext(); } ?>
</div>
</div>
<?php $rs_main_model->MoveNext(); } ?>
请提供为$rs\u variant
填充值的代码。在这里,将其粘贴到注释中以避免描述太长:$sql\u variant=“选择*来自tbl\u目录,其中model\u body=”。$rs\u main\u model->fields['model\u body']。“$rs\u variant=$db->Execute($sql\u variant)代码>如上所述,最明显的原因是$rs_variant->EOF
为真。
<?php while (!$rs_main_model->EOF) { ?>
<div>
<div>
<h2<?php echo $rs_main_model->fields['model']; ?></h2>
<?php $sql_variant = "SELECT * FROM tbl_catalog WHERE model_body = '".$rs_main_model->fields['model_body']."'"; $rs_variant = $db -> Execute($sql_variant); ?>
</div>
<div>
<?php while (!$rs_variant->EOF) { ?>
<?php echo $rs_variant->fields['variant']; ?>
<?php $rs_variant->MoveNext(); } ?>
</div>
</div>
<?php $rs_main_model->MoveNext(); } ?>