Помощь Удалить товар из базы mysql

Тема в разделе "Opencart", создана пользователем brett, 11 окт 2014.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. brett

    brett

    Регистр.:
    3 фев 2009
    Сообщения:
    213
    Симпатии:
    33
    Собственно нужно удалить полностью сам продукт, описание, картинки из мускул базы.
    Продукты по определенным параметрам несколько сот штук.
    Как это сделать?

    пример записи
    <column name="product_id">269</column>
    <column name="xml_id">116882</column>
    <column name="model">116882</column>
    <column name="sku"></column>
    <column name="upc"></column>
    <column name="ean"></column>
    <column name="jan"></column>
    <column name="isbn"></column>
    <column name="mpn"></column>
    <column name="location">domain.com</column>
    <column name="quantity">5</column>
    <column name="stock_status_id">9</column>
    <column name="image">data/pr/74e24c11757483d53deea5d400.jpg</column>
    <column name="manufacturer_id">114</column>
    <column name="shipping">1</column>
    <column name="price">286.3636</column>
    <column name="points">0</column>
    <column name="tax_class_id">11</column>
    <column name="date_available">2014-04-15</column>
    <column name="weight">0.00000000</column>
    <column name="weight_class_id">1</column>
    <column name="length">0.00000000</column>
    <column name="width">0.00000000</column>
    <column name="height">0.00000000</column>
    <column name="length_class_id">2</column>
    <column name="subtract">1</column>
    <column name="minimum">1</column>
    <column name="sort_order">1</column>
    <column name="status">1</column>
    <column name="locked">0</column>
    <column name="date_added">2013-10-25 22:56:39</column>
    <column name="date_modified">2014-04-15 10:00:06</column>
    <column name="viewed">90</column>
     
  2. ricky jabrik

    ricky jabrik

    Регистр.:
    15 мар 2014
    Сообщения:
    170
    Симпатии:
    172
    просто удалил вид продукции администратора-продукт
    или
    удален из cpanel phpmyadmin
     
  3. brett

    brett

    Регистр.:
    3 фев 2009
    Сообщения:
    213
    Симпатии:
    33
    Не совсем понял о чем речь....
    спанель нету есть исп лайт так что не подходит.
    Из мускул потому как я знаю, картинки например не удаляются, если продукт из админки просто удалить
    и тем более это сложно просто удалить продукты, тот параметр (<column name="location">domain.com</column>)
    по которому можно массово удалить видно из мускул базы только в параметре _product
    если его удалить
    остается _image _description вроде больше не нашел где еще продукт записывает
    а в этих ячейках есть только ид продукта и модель
     
  4. luserz

    luserz Постоялец

    Регистр.:
    23 апр 2013
    Сообщения:
    66
    Симпатии:
    31
    Если я Вас понял правильно, то по идеи вот так должно быть.
    DELETE FROM база.таблица WHERE параметр1=значение1 AND параметр2=значение2 AND параметр3=значение3 итд;
    У Вас еще должно быть установлено каскадное удаление дабы не нарушать законы реляционных баз данных)
     
  5. Dj-Tiesto

    Dj-Tiesto Стероид

    Регистр.:
    19 авг 2010
    Сообщения:
    271
    Симпатии:
    88
    Удаление картинок товара при удалении товаров:

    В файле
    /admin/model/catalog/product.php

    Найти
    Код:
    public function deleteProduct($product_id) {
    Добавить ниже

    Код:
    $img=$this->db->query("SELECT image FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "'");
    unlink($_SERVER['DOCUMENT_ROOT'].'/image/'.$img->row['image']);
    
    $img=$this->db->query("SELECT image FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product_id . "'");
    $i=0;
    while($i num_rows-1){
    unlink($_SERVER['DOCUMENT_ROOT'].'/image/'.$img->rows[$i]['image']);
    $i++;
    }

    А сами товары находятся в таблицах: просто очистите их)))

    product
    product_description


    просто очистите их)))

    TRUNCATE TABLE 'pruducts'
    TRUNCATE TABLE 'product_description'

    ОБЯЗАТЕЛЬНО сделайте бекап перед любой работой с БД.

    Если надо sql-запрос для удаления всех товаров по условию то это другой разговор. Вот ссылка и там разбор.
     
    Последнее редактирование: 11 окт 2014
    brett нравится это.
  6. brett

    brett

    Регистр.:
    3 фев 2009
    Сообщения:
    213
    Симпатии:
    33
    Все чистить не надо,
    есть 9к товаров, примерно 500 штук нужно удалить
    потому что они не актуальны, в ручном режиме я нашел их только в бд по параметру
    <column name="location">domain.com</column> в _product
    соотвественно названия их не вижу чтобы руками по одному из админки удалять
    можно по ид продукта в _description их смотреть но по одному получается это же на день работы
    все что с мог сделать скопировал их из базы _product в цсв
     
  7. unfume

    unfume Редиска

    Регистр.:
    20 янв 2014
    Сообщения:
    519
    Симпатии:
    208
    дописать модель, выделить в админке и нажать удалить, или просто удалить. жалко место под картинки?
     
  8. brett

    brett

    Регистр.:
    3 фев 2009
    Сообщения:
    213
    Симпатии:
    33
    Если дпоустим я удаляю в _product то все что касается записи этого продукта останется в полях _дескрипшн и в _картинки
    дальше как удалить? там масс поиск в мускул базе я не видел чтобы добавить допустим список продукт ид и удалить что найдет
    только по одному да и запутатся на раз два:confused:
     
  9. unfume

    unfume Редиска

    Регистр.:
    20 янв 2014
    Сообщения:
    519
    Симпатии:
    208
    выше же код есть который в модель надо добавить и картинки будут удаляться, а через базу товар удалять... тут без комментариев даже
     
  10. brett

    brett

    Регистр.:
    3 фев 2009
    Сообщения:
    213
    Симпатии:
    33
    Спокойствие
    Мне предложили, избавится от картинок совместно с продуктом из админки
    я же написал что это технически для меня неясно так ка параметр видно только из базы.
    Как записывается продукт в базу и пример как я отыскал нужные продукты я описывал выше.
    Через базу товар удалять по одному я и так могу, только остаются поля дескрипшн и имейдж, вы видели вообще базу опенкарт куда она записывает продукт? При удалении допустим просто продукта из базы запись остается и в _дескрипшн и _картинка, мне предложили удалять картинку вместе с продуктом и потом очистить таблицы продукт и дескрипшн, спасибо но это не подойдет :(