Форум » Система построения сайтов » Разное » Помогите правильно составить запрос в базу
Открыть Ответить

Помогите правильно составить запрос в базу

27.01.2019 10:10:33 28.01.2019 16:09:45

Есть таблица в базе "size". В ней содержаться записи о размерах.

forum-73q7b4Es4c-1202.jpg






id - номер записи
size - сам размер, который выводится на сайте на странице товара
lgth - длина стопы для этого размера
time - вреям добавления в базу
admin_id - айди админа, который добавил запись об этом размере

Есть таблица с товарами (обувь) "shop". В ней среди прочих есть столбец "size", в нем для каждого товара хранятся доступные размеры. Хранятся вот в таком виде: "3-4-5-7-8-9-11-12-13-15-16-" - то есть это айдишники размеров из таблицы size.

Я хочу сделать так, чтобы если админ хочет удалить запись о каком либо размере, происходила проверка, нет ли товара, где уже указан такой размер. Если нет, то удаляем запись о таком размере, если есть, то выводим предупреждение, что "удалить нельзя, потому что есть товары с таким размером"

Подскажите, как это сделать? не могу понять. Не хватает знаний.

Уже сделал такие проверки например для сезона. Каждый товар может относится только к одному сезону. И вот перед удалением сезона делаю так:

list($count_seasons) = $db->sql_fetchrow($db->sql_query("SELECT Count(id) FROM ".$prefix."_shop WHERE seasons = 'ТУТ_АЙДИ_СЕЗОНА_КОТОРЫЙ_ХОТИМ_УДАЛИТЬ'"));


И потом проверяю, если $count_seasons равен нулю, удаляем. Если нет, то не даем удалить.

А вот как быть с размерами не понимаю

otherside
otherside
3.97

3.97

28.01.2019 13:19:02 28.01.2019 13:23:30

я бы сделал так:
(В таблице шоп заменил тире на запятые, что б не делать лишних манипуляий. Но раз задача с тире, то с тире).

  1. Выбираем значение поле size из шопа.

list($sizes)=$db->...

2. Переводим в массив
$arr_size_del=explode("-",$sizes);

3.Ищем в таблице размеров совпадения

$rez=$db->sql_query("SELECT id FROM ".$prefix."_shop WHERE id IN (implode(",",arr_size_del) );
if ($db->sql_numrows($rez)>0){
// не удаляем
}else{
//удаляем
}

olevpa
olevpa
4.02

4.02

28.01.2019 16:00:14 28.01.2019 16:18:36

Спасибо за ответ. Но я наверное объяснил криво. В таблице shop хранятся все продаваемые товары. И для каждого товара в ячейке size записаны доступные размеры.

Поэтому меня немного смутил первый пункт ответа "1. Выбираем значение поле size из шопа".

Чтоб опять не пугать своим красноречием, записал короткое видео. Там к концу ролика должно стать понятно что имею в виду

https://www.youtube.com/watch?v=QkwISojJwTo

otherside
otherside
3.97

3.97

29.01.2019 03:00:32 29.01.2019 03:01:29

Спасибо за ответ. Но я наверное объяснил криво. В таблице shop хранятся все продаваемые товары. И для каждого товара в ячейке size записаны доступные размеры.

Поэтому меня немного смутил первый пункт ответа "1. Выбираем значение поле size из шопа".

Чтоб опять не пугать своим красноречием, записал короткое видео. Там к концу ролика должно стать понятно что имею в виду

https://www.youtube.com/watch?v=QkwISojJwTo


Вроде понял
вот сюда закинул.
_https://slaed.guru/files-view-10.html
Посмотри.

olevpa
olevpa
4.02

4.02

olevpa, спасибо огромное. Вечером обязательно попробую.

otherside
otherside
3.97

3.97

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь