Как массово удалить определенный текст из карточек товара?

Тема в разделе "Общие вопросы", создана пользователем Zhezkazganetcs, 24 мар 2016.

  1. Zhezkazganetcs

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

    Сообщения:
    819
    Симпатии:
    108
    у меня в каждой карточке прописан снизу следующий текст
    карточек около 1000
    есть ли способ массово удалить эту фразу со всех карточек разом? дабы вручную не править всю тысячу карточек
     
  2. Vlad

    Vlad Эксперт

    Сообщения:
    4.151
    Симпатии:
    1.006
    я делаю экспорт таблицы produc_description в sql , а потом в нотепад++ просто удаляю все ненужные вхождения.
     
    Zlata Jesen нравится это.
  3. grey0207

    grey0207 Активный пользователь

    Сообщения:
    126
    Симпатии:
    33
    Экспорт description всех товаров в CSV -> Найти/заменить в Openoffice -> Импорт.
     
  4. Zhezkazganetcs

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

    Сообщения:
    819
    Симпатии:
    108
    Код:
    Ошибка
    SQL-запрос:
    
    -- -- Дамп данных таблицы `oc_product_description` -- INSERT INTO `oc_product_description` (`product_id`, `language_id`, `name`, `description`, `tag`, `meta_title`, `meta_description`, `meta_keyword`) VALUES (53, 1, 'Аккумулятор 55565 Hagen 55Ah (460A)', '<p>Аккумулятор 55565 Hagen 55Ah (460A) изготовлен по отлично зарекомендовавшей себя технологии Ca/Ca (добавки кальция к положительным и отрицательным пластинам – для уменьшения потерь воды и саморазряда) с использованием стандартной крышки с хорошим газоотводом и прочным корпусом, который выдерживает любую вибрацию.</p>\r\n\r\n<p>Немецкая компания Hagen Batterie AG имеет почти 80-тилетний опыт в произ[...]
    
    Ответ MySQL: Документация
    
    #1062 - Duplicate entry '53-1' for key 'PRIMARY' 
    даже если ничего не менять и ту же самую таблицу закинуть обратно
    2,2
    на openservere
     
  5. optimlab

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

    Сообщения:
    924
    Симпатии:
    240
    Через копирование не прокатит, вчера только делал. Через update ...
     
  6. Zhezkazganetcs

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

    Сообщения:
    819
    Симпатии:
    108
    через что?
     
  7. optimlab

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

    Сообщения:
    924
    Симпатии:
    240
    Код:
    UPDATE `oc_product_description` SET `description`= REPLACE(`description`, 'в нашем магазине Вы можете купить или заказать необходимые автозапчасти', '');
     
    Zhezkazganetcs нравится это.
  8. Zhezkazganetcs

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

    Сообщения:
    819
    Симпатии:
    108
    1. зашел в phpmyadmin
    2. выбрал Таблица: oc_product_description
    3. нажал на вкладку SQL
    4. сделал запрос
    5. нажал update стало
      Код:
      UPDATE `oc_product_description` SET `product_id`=[value-1],`language_id`=[value-2],`name`=[value-3],`description`=[value-4],`tag`=[value-5],`meta_title`=[value-6],`meta_description`=[value-7],`meta_keyword`=[value-8] WHERE 1;
    6. там справа есть столбцы и <<
    что бы как бы я не делал ничего не удаляется + еще появляется
    Код:
     #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[value-1],`language_id`=[value-2],`name`=[value-3],`description`=[value-4],`tag`' at line 1
    если справа в столбцах что-то делаю

    что я сделал не так?
     
  9. optimlab

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

    Сообщения:
    924
    Симпатии:
    240
    Не надо нажимать на Апдейт, надо вставить свой запрос и нажать на ОК.
     
    Zhezkazganetcs нравится это.
  10. Zhezkazganetcs

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

    Сообщения:
    819
    Симпатии:
    108
    а если слово ссылкою? да еще и оно справа?
    уже пусто
     
    Последнее редактирование: 24 мар 2016
  11. optimlab

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

    Сообщения:
    924
    Симпатии:
    240
    Ну если справа, тогда всё... Вот было бы слева тогда другое дело..(((
     
  12. optimlab

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

    Сообщения:
    924
    Симпатии:
    240
    Да лан шучу я.))):p:D

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

    ПС..
    А вообще такие "сквозняки" делаются в шаблоне а не в описании.
     
    Zhezkazganetcs нравится это.
  13. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    517
    При экспорте через phpMyAdmin нужно выбрать способ экспорта: 'Обычный - отображать все возможные настройки' и в параметрах создания объектов отметить 'Добавить выражение DROP TABLE', либо (НИ ВКОЕМ СЛУЧАЕ НЕ ИСПОЛЬЗОВАТЬ С DROP TABLE!!!) в параметрах создания данных 'Использовать оператор при сохранении данных: UPDATE'
    Потом по такому экспортированному файлу проехать заменой в нотепаде и импортировать обратно.
     
  14. Zhezkazganetcs

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

    Сообщения:
    819
    Симпатии:
    108
    mars1an, я ваш способ не попробовал
    а нашел я код в phpMyAdmin и удалил как XDX написал
    но пришлось искать в описаниях товара где еще эта фраза встречается
    опять в phpMyAdmin находил код и опять запрос
    т.е. получается, что разный код
    где то пробел лишний, где то еще что-то
    в общем за 5-6 движений удалил полностью
    сохранил базу данных, т.к. все на openservere и экспортировал на рабочий магазин
    подготовка долго
    правки - 2 минуты
     
  15. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    517
    Ну это если 5-6 вхождений, а если, этак, записях в 100? :D
    Я описал способ для более массовой замены, а если заранее известно что поправить надо 3-4 записи, то тогда да, проще воспользоваться простым поиском.
     
  16. Zhezkazganetcs

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

    Сообщения:
    819
    Симпатии:
    108
    почти тыща :cool:
     
  17. optimlab

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

    Сообщения:
    924
    Симпатии:
    240
    :eek: Ну во первых способ UPDATE действует на все записи в таблице. Так что хоть несколько сотен тысяч записей, ему всё равно. Так как там нет условия WHERE.
    И он аналогичен замене в нотепад. Тока без гемора с выгрузкой и загрузкой.
    А во вторых, как бы он в нотепад искал нужный код состоящий из знаков юникода?
     
  18. optimlab

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

    Сообщения:
    924
    Симпатии:
    240
    Зря вы удалили пример HTML-ссылки. Вдруг кому еще понадобится, так они читая не поймут о чем речь.
     
  19. Zhezkazganetcs

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

    Сообщения:
    819
    Симпатии:
    108
    пример не такой был как в ссылке
    а еще куча символов типа &lt;p&gt; да &lt;/p&gt;
    и любое отклонение от точного кода и этот кусок пропускает
    поэтому 5-6 движений повторяющихся но с разным кодом
     
    Последнее редактирование: 24 мар 2016
  20. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    517
    А это уже я невнимательный, найти то надо было один текст, оказывается. Тут спору нет, ваш способ самый верный с update без where.
    А вот если текст содержит гиперразметку, то ищутся не знаки юникода, а спец символы, и тут replace тоже промахнётся. Тут поможет только знание замены html тэгов на спецсимволы