Onatolich, у меня сейчас точно так
Onatolich, у меня сейчас точно так
# Rakovskiy (22.08.2014 / 18:33)Если к товару много изображений, то вытянуть сразу и товар и изображения не получится. Вот если бы только одно изображение, то можно было бы. )
Onatolich, у меня сейчас точно так
# Onatolich (22.08.2014 / 23:56)Спасибо,плюс в карму как и обещал
Если к товару много изображений, то вытянуть сразу и товар и изображения не получится. Вот если бы только одно изображение, то можно было бы. )
# Onatolich (22.08.2014 / 17:57)
$goods = mysql_query"SELECT * FROM `goods`;"); while($good = mysql_fetch_array($goods)) { $photos = mysql_query("SELECT * FROM `photos` WHERE `ref` = " . $good['id'] . ";"); }
$goods = [];
$result = mysql_query("SELECT * FROM `goods`");
while (($good = mysql_fetch_assoc($result))) {
$good['id'] = (int) $good['id'];
$good['photos'] = [];
$goods[$good['id']] = $good;
}
$result = mysql_query("SELECT * FROM `photos` WHERE `ref` IN('" . join("', '", array_keys($goods)) . "')");
while (($photo = mysql_fetch_assoc($result))) {
$photo['ref'] = (int) $photo['ref'];
$goods[$photo['ref']]['photos'][] = $photo;
} # reaper (23.08.2014 / 14:56)почему?
Запросы в цикле -- зло.
selemet, Потому что когда данных слишком много, то всё будет жутко тормозить.
reaper, Спасибо за подсказку.Сделал немного проще.
$photo = array();
$photos = CatalogPhotoModel::model()->findAll();
foreach ($photos as $arr){
$photo[$arr->ref][] = $arr;
}# reaper (23.08.2014 / 14:56)Не правильно. Твой код отдельно выведет товары и отдельно все фотографии ко всем товарам. Без цикла никак!
Запросы в цикле -- зло.
[php]
$goods = [];
$result = mysql_query("SELECT * FROM `goods`");
while (($good = mysql_fetch_assoc($result))) {
$good['id'] = (int) $good['id'];
$good['photos']
# Rakovskiy (23.08.2014 / 22:37)Вот те на. У тебя MVC стоит, что ж ты сразу не сказал )
reaper, Спасибо за подсказку.Сделал немного проще.
$photo = array(); $photos = CatalogPhotoModel::model()->findAll(); foreach ($photos as $arr){ $photo[$arr->ref][] = $arr; }
reaper, И кстати заметные лаги начнутся при обработке оверстатыщ записей, так что не надо быть таким нагрузкопаникёром )