В общем, как я понял, нужно делать как можно меньше запросов в базу данных и я решил 1 раз отправить запрос в базу данных и ответ записать в массив 1, а уже потом из массива 1 все что нужно доставать. И вот у меня такой вопрос, я сделал следующий код ( P.s сразу говорю на название переменных не обращайте внимание, я учусь только и это для теста ):
$catalog = 1; // Для теста
$qa_products = $link->query('SELECT * FROM `products`');
$array_products = array();
while($w_products = $qa_products->fetch(PDO::FETCH_ASSOC)) {
$array_products[] = $w_products;
}
// В другом месте, код ( Нужно сделать поиск id каталога по массиву 1, если такой каталог найден, то он записывается в другой массив 2, потом массив 2 проверятся на кол-во строк, если их 0, то пишет что аккаунтов не найдено, если их >=1, то через foreach все они выводятся):
$get_catalog_1 = array();
foreach($array_products as $for_products_1) {
if($for_products_1['catalog_id'] == $catalog) {
$get_catalog_1[] = $for_products_1;
}
}
if(count($get_catalog_1) >= 1) {
foreach($get_catalog_1 as $set_catalog_1): ?>
<p><?php echo $set_catalog_1['title']; ?></p>
<?php endforeach;
} else {
?>
<p>В данной категории нет аккаунтов</p>
<?php
}
Если этот код запустить, то все работает. Но это нормально так сделано ? Тоисть это нормально что я так много использую массивов и foreach ? И если не правильно, то как будет правильнее его сделать ?