Собственно вопрос простой. Как сделать правильный вывод картинок в цикле?
В интернете есть очень много инфы по данному вопросу, но хотелось бы сделать все максимально правильно с уклоном на производительность.
В общем есть несколько категории товаров. При клике на категорию выводятся товары из базы в цикле (название, код товара, цена и картинка). В силу того что товара много - не везде есть картинка, для таких случаев есть картинка-заглушка no_img.jpg
Пока еще не сделал постраничную навигацию и выгружаются все товары (по 70-80 штук) что заметно влияет на подгрузку картинок и страницы в целом.
Теперь к коду, код вывода товара:
код<? while($row = mysql_fetch_assoc($result3)): ?>
<div class='product'>
<div class='product'><a href='product.php?id=<?= $row['Code']; ?> '><img typeof='foaf:Image' src="<? echo plugins_url( 'img/product_img/' . $row['Code'] . '.jpg' , dirname(__FILE__) ); ?>" onError="this.src='<? echo plugins_url( 'img/product_img/no_photo.gif' , dirname(__FILE__) ); ?>'" width='120' height='120' alt='' /></a></div>
<div class='product-title'>
<a href='product.php?id=<?= $row['Code']; ?> '><?= $row['Name']; ?> </a>
</div>
<div class='product-articul'>Код товара: <?= $row['Code']; ?> </div>
<div class='product-price'><?= $row['PriceShop']; ?> руб</div>
</div>
<?= $row['data']; ?>
<? endwhile; ?>
Как видно сейчас используется проверка, если есть в папке картинка с соответствующим кодом, то вывести ее, если нет, то вывести заглушку:
spoiler<? echo plugins_url( 'img/product_img/' . $row['Code'] . '.jpg' , dirname(__FILE__) ); ?>" onError="this.src='<? echo plugins_url( 'img/product_img/no_photo.gif' , dirname(__FILE__) ); ?>'
Насколько это правильный метод?
Картинки хранятся в папке, название соответствует id товара. Удобно просто, переименовать картинку и кинуть в папку, либо же есть загрузчик на сайте.
Мысль была следующая, при загрузке картинки через сайт, добавлять ее путь в базу данных и делать проверку уже с базой данных при выводе. Либо же вообще загружать картинки в базу, чего как я понял не советуют делать.
Как будет правильно это все реализовать?