Перейти к содержимому


Как поменять код нескольких товаров через CSV или Phpmyadmin


  • Вы не можете ответить в тему
Сообщений в теме: 9

#1 kotofey

    Пользователь

  • Пользователи
  • PipPip
  • 16 сообщений
Репутация: 0
Начинающий

Отправлено 29 March 2013 - 09:45 PM

Постоянно возникает необходимость менять Код товара у нескольких товаров, делаю через админку, но это долго: 10-30 товаров, каждый надо найти в каталоге, открыть , изменить, сохранить, вернуться к списку

Предполагаю, что эту задачу можно решить одним махом для нескольких товаров сразу с помощью SQL запроса в phpmyadmin, но не знаю как его корректно написать..
Смысл в следующем

Найти Заменить на
tovar1 n-m-tovar1
tovar2 k-l12354
и т.д.

Посоветуйте, что-нибудь, пожалуйста
  • 0

#2 R.Sergey

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

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 30 March 2013 - 07:26 AM

для 10-30 товаров что одинаковый код ?
или что значит

tovar1 n-m-tovar1


  • 0

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 30 March 2013 - 07:29 AM

Это довольно легко сделать через CSV-файл, внеся туда два поля - Код и Наименование - и выбрав в админке при импорте для идентификации Наименование вместо дефолтового Кода. При этом у совпавших по наименованию товаров сменится код.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 kotofey

    Пользователь

  • Пользователи
  • PipPip
  • 16 сообщений
Репутация: 0
Начинающий

Отправлено 30 March 2013 - 10:28 AM

для 10-30 товаров что одинаковый код ?
или что значит

tovar1 n-m-tovar1


Нет конечно, коды разные.
показал 2 столбца в одном указано что надо заменить, напротив "на что заменить

Найти "tovar1" -> заменить на "n-m-tovar1"
Найти "n-m-tovar1" -> заменить на "tovar2 k-l12354"
и т.д.
Как найти, уже понял, методом тыка
SELECT * FROM `avl_products` WHERE `product_code` = 'tovar1'
А вот как написать запрос на замену?


Это довольно легко сделать через CSV-файл, внеся туда два поля - Код и Наименование - и выбрав в админке при импорте для идентификации Наименование вместо дефолтового Кода. При этом у совпавших по наименованию товаров сменится код.

В моем случае не получится, так как есть по 2-3 товара с полностью одинаковым названием (с разными характеристики) , но разными кодами, то есть однозначно идентифицирует товар только "КОД"
  • 0

#5 R.Sergey

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

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 30 March 2013 - 04:32 PM

Хм. А чем тогда через мускул проще я не вижу чем это облегчит Вам задачу.
Через админку проще всего. Разве что у Вас интернет медленный.

Конструкция мускула SELECT - это выборка из базы, а не запиcm
Вам нужно использовать конструкцию
UPDATE - почитайте в гугле ))
Но я бы на Вашем месте не зная Мускула не лез бы в эти дебри, т.к. можно наделать делов.
Лучше через CSV - я кстати опять же не понял почему не получится. Ну пусть будет по 2-3 товара с одним названием - и что? ищите по коду, меняйте код и заливайте через импорт.
  • 0

#6 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 30 March 2013 - 04:43 PM

А вот как написать запрос на замену?

http://phpclub.ru/mysql/doc/reference.html
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#7 kotofey

    Пользователь

  • Пользователи
  • PipPip
  • 16 сообщений
Репутация: 0
Начинающий

Отправлено 31 March 2013 - 10:54 AM

Хм. А чем тогда через мускул проще я не вижу чем это облегчит Вам задачу.
Через админку проще всего. Разве что у Вас интернет медленный.

Конструкция мускула SELECT - это выборка из базы, а не запиcm
Вам нужно использовать конструкцию
UPDATE - почитайте в гугле ))
Но я бы на Вашем месте не зная Мускула не лез бы в эти дебри, т.к. можно наделать делов.
Лучше через CSV - я кстати опять же не понял почему не получится. Ну пусть будет по 2-3 товара с одним названием - и что? ищите по коду, меняйте код и заливайте через импорт.


Через админку, для изменения кода товара, надо нажимать кучу кнопок, я хочу свести все написанию одной "команды"

Итак:
Имеем исходные данные:
код "tovar1" -> наименование "грабли"
код "tovar2" -> наименование "грабли"
код "tovar3" -> наименование "грабли"

У каждого товара разные характеристики, фото, цена.
И лишь одно значение разное - это "КОД товара", при обновлении цен, Колонка идентификации всегда "КОД товара"

Товар переезжает на мой склад, и мне надо изменить его код на свой внутренний
Необходимо:
Заменить коды товаров
код "tovar1" на "GR-5-815"
код "tovar2" на "GR-2-700"
код "tovar3" на "GR-1-5"


Рассуждаем логичесеки..
Если делать замену через CSV и ставить колонку идентификации "наименование", получится:
скрипт магазина начинает перебирать список CSV, доходит до товара "грабли" с кодом "tovar1", меняет его на "GR-5-815".
Сканирует дальше, опять находит товар "грабли" с кодом "tovar2" иии...??
Какой код из трех кодов он поставит во второй и третий раз, одному богу известно :) , думаю что воткнет, опять "GR-5-815"
Другими словами, если в каталоге магазина 2-3 товара с одинаковым названием, поле "название" не идентифицирует товар однозначно. Уникальный и отличный от всех - это только "код товара"


Правильно я рассуждаю?

badisoft, спасибо, думаю UPDATE поможет, нужно изучить
  • 0

#8 NLO56

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 91 сообщений
Репутация: 5
Начинающий
  • ГородСанкт-Петербург

Отправлено 31 October 2013 - 08:51 PM

Постоянно возникает необходимость менять Код товара у нескольких товаров, делаю через админку, но это долго: 10-30 товаров, каждый надо найти в каталоге, открыть , изменить, сохранить, вернуться к списку

Предполагаю, что эту задачу можно решить одним махом для нескольких товаров сразу с помощью SQL запроса в phpmyadmin, но не знаю как его корректно написать..
Смысл в следующем

Найти Заменить на
tovar1 n-m-tovar1
tovar2 k-l12354
и т.д.

Посоветуйте, что-нибудь, пожалуйста

Я думаю уже нашел решение, но тем не менее. Запрос выглядит так:
UPDATE
`xsil_product_options_values`
SET
`option_value`='n-m-tovar1'
WHERE
`xsil_products`='tovar1'

  • 0

#9 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 31 October 2013 - 09:05 PM

Запрос выглядит так:

Это какая-то хрень, а не запрос.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#10 NLO56

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 91 сообщений
Репутация: 5
Начинающий
  • ГородСанкт-Петербург

Отправлено 31 October 2013 - 09:18 PM

Запрос выглядит так:

Это какая-то хрень, а не запрос.

Согласен что хрень получилась :) , название таблиц только нужно поменять.
  • 0