SamyRed
Здравствуйте!
PHP:
$positions = false; $q = $db->query («SELECT * FROM `positions` WHERE `company_id` = ‘».$company_id.«‘»); if ($q) { if ($q->num_rows) { $positions = $q; } }Затем вызов цикла While от объекта «$positions»:
PHP:
<?php if ($positions !== false) { ?> <select class=»form-select» name=»position» aria-label=»Choose position»> <option selected>_POSITION</option> <?php while ($item = $positions->fetch_assoc ()) { ?> <option value=»<?=$item[‘id’]?>«><?=$item[‘title’]?></option> <?php } ?> </select> <?php } ?>Тут всё работает как надо.
Вот второй вызов, он ничем не отличается от первого:PHP:
<?php if ($positions !== false) { ?> <form> <select class=»form-select» name=»position» aria-label=»Choose position»> <option selected><?=$position?></option> <?php while ($item = $positions->fetch_assoc ()) { ?> <option value=»<?=$item[‘id’]?>«><?=$item[‘title’]?></option> <?php } ?> </select> </form> <?php } else { ?> <?=$position?> <?php } ?>А вто он уже не отрабатывает. var_dump ($positions) как перед первым так и перед вторым вызовом показывает одинаковый результат. Если удалить первый вызов, то второй работает. Как так?
miketomlin
У объекта mysqli_result есть внутренний указатель, который нужно сбрасывать:
https://gency.ru/comment/57
SamyRed
Понял, спасибо. Не знал.