<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

Помимо самих уроков Вы так же получаете и множество упражнений. По сути, Вы создадите свои собственные 20 небольших проектов, благодаря чему у Вас появится и практика, и портфолио.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Форум сайта MyRusakov.ru

Иннер Джоин, должен вытащить!
12.10.2013 01:25:59 Иннер Джоин, должен вытащить! Сообщение #1
wanderer

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. Как избежать повторений фотографии при этом чтоб извлекались все дополнительные поля(если их много)?!

Это возможно сделать? не могу додуматься как это реализовать, логика не ясна.
Профиль Ответить
12.10.2013 13:08:52 Иннер Джоин, должен вытащить! Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Никак это не сделать, то, что у записей одинаковые фотографии есть не означает, что у одной записи стоит делать её выборку, а у другой нет. Это будет противоречить самому принципу базы данных.
Профиль Ответить
12.10.2013 14:42:26 Иннер Джоин, должен вытащить! Сообщение #3
wanderer

wanderer

Продвинутый

Продвинутый

Дата регистрации:
04.07.2012 12:02:14

Сообщений: 55

То есть желать цикл в цикле? Это будет считаться грамотным с точки зрения грамотности кода? Или как такую задачу решил бы ты?
Профиль Ответить
12.10.2013 23:08:10 Иннер Джоин, должен вытащить! Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Не цикл в цикле, а сразу вытащить все записи, у многих из которых будет одна и та же фотография.
Профиль Ответить
12.10.2013 23:48:17 Иннер Джоин, должен вытащить! Сообщение #5
wanderer

wanderer

Продвинутый

Продвинутый

Дата регистрации:
04.07.2012 12:02:14

Сообщений: 55

Но мне не надо так, у одного товара есть к примеру три фотографии, а на страничке мне надо вывести всего 1 товар, но со всеми фотографиями которые есть в соседнем столбце соединенным с таблицей товаров!

Но так же у этого товара в отдельную таблицу вынесены параметры товара, и если я сдела....


осинило, и я понял=))) тройной иннер джоин с тройной связью и просто указываем условие где id товара. Ну и конечно же выводим все в цикле. НО
если к примеру количество фотографий у меня меньше чем количество строк описания товара, то outer join не пойдет, просто inner join нужно?
Профиль Ответить
13.10.2013 11:40:00 Иннер Джоин, должен вытащить! Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Пойдёт и INNER JOIN.
Профиль Ответить