Foreach цикл вывод путей картинок в img src из Mysql

Помогите пожалуйста решить вопрос.

Не выводит фотографии в цикле forEach в тег <img src="./Download_Rent/"

При этом если сделать дамп или print_r массива выводит все данные корректно, если взять ссылку картинки и прописать путь в браузере, она открывается.

Может нужно данные получать используя другой цикл, например while? Может путь к файлу / папке по иному ставить?

Приведу часть из них. Единственное непонятно: на всех string значение либо 22 либо 23 - других цифр нет при var_dump.

array(135) { ["3624_5f0ce68b061f3.jpg"]=> string(22) "3624_5f0ce68b061f3.jpg" ["3624_5f0ce68b073d0.jpg"]=> string(22) "3624_5f0ce68b073d0.jpg" ["3625_5f12e9f9212ba.jpg"]

Данные получаю так для конкретно изображений. Все остальное выводит в плане данных, в данный момент вместо пути к фото из БД, выводит фото из команды else Photo/No photo.jpg

$top3 = R::getAssoc('SELECT id, year, run, price, description FROM rent WHERE id IN (8321, 8319, 8320) ORDER BY time_upload DESC');

$img = R::getAssoc('SELECT photo FROM rent, rent_photo WHERE rent.id = rent_photo.rent_id');


<?php if (isset($top3)): ?>  
<div class="main">  
<div class="row">  
<?php foreach($top3 as $id => $ads): ?>
  <a href="ads.php/rent/<?=$id;?>">
  <div class="column">
     <div class="content">
       <h3><?php isset($ads['title']) ? $ads['title'] : null; ?></h3>     
       <h3><?=$ads['year']; ?></h3>

       <?php if(isset($ads['img'])): ?>
       
              <div class="fotorama" data-navposition="bottom" data-width="95%" data-nav="thumbs"data-thumbwidth="40px" data-thumbheight="40px">
                <img src="./Download_Rent/<?=$ads['img'];?>" width="95%">
       </div>
       <?php else: ?>
                <img src="Photo/No photo.jpg" width="100%">
       <?php endif; ?>
       <h3>Цена:  <?= number_format($ads['price'], 0, '.', '.'); ?> Р.</h3>
       <?php if (isset($ads['run'])):?>      
            <h3>Пробег: <?=number_format($ads['run'], 0, '.', ' '); ?>   км.</h3>
       <?php endif; ?> 
       <p><?=substr($ads['description'], 0, 120),'...'; ?></p>
       <button class="PreviewADS">Подробнее...</button>
    </a>
   </div>
  </div>
<?php endforeach; ?>
  </div>      
</div>
<?php endif; ?>

Ответы (1 шт):

Автор решения: Valerii Vasiliev

С учетом описанного комментария " Не связаны, мой косяк, там стоит rent вместо sell в коде. исправил. Решение до сих пор не получено."

Попробуйте строки

$top3 = R::getAssoc('SELECT id, year, run, price, description FROM rent WHERE id IN (8321, 8319, 8320) ORDER BY time_upload DESC');

$img = R::getAssoc('SELECT photo FROM rent, rent_photo WHERE rent.id = rent_photo.rent_id');

заменить на

$sql = "SELECT 
                    rent.id, 
                    rent.year, 
                    rent.run, 
                    rent.price, 
                    rent.description,
                    rent_photo.photo AS img
            FROM 
                    rent
            LEFT JOIN
                    rent_photo
            ON
                    rent.id = rent_photo.rent_id  
            WHERE 
                    rent.id IN (8321, 8319, 8320) 
            ORDER BY 
                    rent.time_upload DESC "; 
    
$top3 = R::getAssoc($sql); 
→ Ссылка