wanderer
Продвинутый
Дата регистрации:
04.07.2012 12:02:14
Сообщений: 55
Михаил! Есть такой запрос!
$q_tovar_one = mysql_query("SELECT
`$tovar`.`id`,
`$tovar`.`img`,
`$tovar`.`description`, `$tovar`.`cena`,
`$tovar`.`title`,
`$tovar`.`count`,
`$tovar_columns`.`id_tovar`,
`$tovar_columns`.`title` AS tovar_column_title,
`$tovar_columns`.`value`
FROM `$tovar` INNER JOIN `$tovar_columns`
ON `$tovar`.`id`=`$tovar_columns`.`id_tovar`
WHERE `$tovar`.`id`='$id'"
;
while($r_tovar = mysql_fetch_assoc($q_tovar_one)){
тело цикла
}
Этот запрос должен выводить информацио о товаре, а еще я хочу сделать в этом же запросе(то есть для чего я и написал тут иннер джоин) чтобы вытаскивались дополнительные поля для конкретного товара(для каждого товара поля разные), но в теле этого же цикла идет подключение и фотографий для этого же товара, то есть цикл в цикле. Но если будет цикл в цикле то фотографии будут извлекаться столько раз сколько записей в дополнительных полях - $tovar_columns. Как избежать повторений фотографии при этом чтоб извлекались все дополнительные поля(если их много)?!
Это возможно сделать? не могу додуматься как это реализовать, логика не ясна.
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Никак это не сделать, то, что у записей одинаковые фотографии есть не означает, что у одной записи стоит делать её выборку, а у другой нет. Это будет противоречить самому принципу базы данных.
wanderer
Продвинутый
Дата регистрации:
04.07.2012 12:02:14
Сообщений: 55
То есть желать цикл в цикле? Это будет считаться грамотным с точки зрения грамотности кода? Или как такую задачу решил бы ты?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Не цикл в цикле, а сразу вытащить все записи, у многих из которых будет одна и та же фотография.
wanderer
Продвинутый
Дата регистрации:
04.07.2012 12:02:14
Сообщений: 55
Но мне не надо так, у одного товара есть к примеру три фотографии, а на страничке мне надо вывести всего 1 товар, но со всеми фотографиями которые есть в соседнем столбце соединенным с таблицей товаров!
Но так же у этого товара в отдельную таблицу вынесены параметры товара, и если я сдела....
осинило, и я понял=))) тройной иннер джоин с тройной связью и просто указываем условие где id товара. Ну и конечно же выводим все в цикле. НО
если к примеру количество фотографий у меня меньше чем количество строк описания товара, то outer join не пойдет, просто inner join нужно?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Пойдёт и INNER JOIN.