Вложенный в то время как цикл цикла, второй цикл один раз и останавливается

У меня проблема с кодированием, которую я не могу решить сама, поэтому мне нужна ваша помощь.

У меня есть два запроса выборки данных из одной таблицы:

$rs_main_model получает все уникальные модели, используя GROUP BY

$rs_variant получает все модели с соответствующими параметрами, то есть все столбцы таблицы.

Что я делаю, так это запускаю цикл while, чтобы вывести список всех уникальных моделей — $rs_main_model а затем внутри того же div запустить второй цикл, чтобы получить список всех подходящих моделей из $rs_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(); } ?>

Ниже приведен пример фактического и желаемого результата:

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

Решение

Вы должны обновлять результаты $ rs_variant на каждой итерации во внешнем цикле, используя в качестве условия $ rs_main_model-> fields [‘model’]. Попробуйте следующее

<?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(); } ?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]