我有编码问题,我无法自行解决,所以需要你的帮助。
我有两个查询从同一个表中获取数据:
$rs_main_model
使用GROUP BY获取所有独特模型
$rs_variant
获取所有模型及其各自的选项,即表格中的所有列。
我正在做的是运行一个while循环来列出所有唯一模型 - $rs_main_model
,然后在同一个div
运行第二个循环中列出来自$rs_variant
的所有匹配模型:< / p>
<?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(); } ?>
以下是实际和所需输出的示例:
The output should look something like this: | However what I end up with is this:
Model A Model A - Variant1 | Model A Model A - Variant1
Model A - Variant2 | Model A - Variant2
Model A - Variant3 | Model A - Variant3
Model B Model B - Variant1 | Model B
Model C Model C - Variant1 | Model C
Model C - Variant2 |
我应该对while
循环进行哪些更改才能使其正常工作?
谢谢!
答案 0 :(得分:1)
您应该使用$ rs_main_model-&gt; 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(); } ?>