- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте! Подскажите пожалуйста, если кто сталкивался. Есть база mysql с таблицей Товары. У таблицы "Товары" есть четыре поля id товара, наименование товара, количество и дата изготовления.
В админке мы добавляем товар в базу через форму.
Вопрос в следующем - если мы сначала добавили товар и его количество, например 10 шт. Через некоторое время еще добавили ТОТ ЖЕ товар но количество его уже 20 шт.
Как сделать, чтобы в базе не создавалась новая запись с этим же товаром, а только изменялось (прибавлялось) количество?
Здравствуйте! Подскажите пожалуйста, если кто сталкивался. Есть база mysql с таблицей Товары. У таблицы "Товары" есть четыре поля id товара, наименование товара, количество и дата изготовления.
В админке мы добавляем товар в базу через форму.
Вопрос в следующем - если мы сначала добавили товар и его количество, например 10 шт. Через некоторое время еще добавили ТОТ ЖЕ товар но количество его уже 20 шт.
Как сделать, чтобы в базе не создавалась новая запись с этим же товаром, а только изменялось (прибавлялось) количество?
По идее нужно создавать поле "Артикул товара" (уникальный номер для единицы товара) или сравнивать по названию товара, но если попадутся 2 одинаковых названия, будет некошерно.
if (если запись уже есть) {UPDATE} else {INSERT}
id товара, это и есть собственно артикул. По сути это одно и тоже. Ну а вообще это можно реализовать?
---------- Добавлено 06.05.2013 в 13:05 ----------
LEOnidUKG,
Update здесь не совсем, мне кажется, подойдет. Он изменит запись на новую, но не прибавит количество.
Update здесь не совсем, мне кажется, подойдет. Он изменит запись на новую, но не прибавит количество.
Вообще, он изменит так, как напишете в запросе..
А для вставки/обновления в MySQL есть такое:
Спасибо огромное, ща буду пробовать!!!
Спасибо огромное, ща буду пробовать!!!
Удачи..
p.s. А если у разных партий разная дата изготовления? 😂
))) еще не добрался до этого
---------- Добавлено 06.05.2013 в 14:10 ----------
Че то не получается((
Вот мой код:
Еще раз:
Вводим товар и его количество, например 10 шт.. Потом опять ввели этот товар, но уже количество 20шт. Нужно чтобы amount (количество) суммировалось.
Помогите пожалуйста!
чтобы ON DUPLICATE KEY UPDATE работал, надо для начала, чтобы он передавался в запросе (подозреваю что у Вас на поле id стоит AUTOINCREMENT и это PRIMARY KEY). В вашем же случае он просто создастся новый и не будет DUPLICATE.
А вообще не мучались бы вы с этой структурой, а использовали нормальный UPDATE.
Подсказка, перед ним нужно сделать SELECT и проверить есть ли товар с таким id уже в наличии.
Если мои слова не понятны, для начала не помешает глубже изучить основы MYSQL.
подозреваю что у Вас на поле id стоит AUTOINCREMENT и это PRIMARY KEY
ТС в данном случае оперирует не айдишником, а именем товара. Чтоб DUPLICATE KEY работал, на товаре должен стоять UNIQUE KEY
INSERT*INTO*plity*(name,*amount,*date)*value('$name',*$amount,*'$date')
values....