[Решено] Отключение регионов одним махом

Тема в разделе "OpenCart", создана пользователем Podmasteri, 9 окт 2013.

Статус темы:
Закрыта.
  1. Podmasteri

    Podmasteri

    Регистрация:
    27 дек 2012
    Сообщения:
    214
    Симпатии:
    34
    Возникла потребность отключить весе регионы, страны одним махом, не удаляя, а потом включить те которые нужны уже вручную, так как отключать вручную очень долго. кто сможет посоветовать решение. и есть ли оно ?
     
  2. Yoda

    Yoda

    Регистрация:
    5 фев 2013
    Сообщения:
    122
    Симпатии:
    22
    Решение есть. Это можно сделать с помощью sql запроса. В базе опенкарта есть 2 таблицы. country и zone. В коунтри по моему хранится список стран, а в зоне список регионов, областей страны. В каунтри смотрится id страны, затем по этому id ищутся регионы и с помощью запроса можно удалить регионы определенной страны или отключить
     
  3. Podmasteri

    Podmasteri

    Регистрация:
    27 дек 2012
    Сообщения:
    214
    Симпатии:
    34
    я думал об этом, но у меня нет знаний чтоб сделать, поэтому и прошу помочь.
     
  4. SmileOk

    SmileOk

    Регистрация:
    29 янв 2013
    Сообщения:
    84
    Симпатии:
    27
    Если способом предложенным Yoda, то
    Код:
    DELETE FROM `country` WHERE `country_id` NOT IN (1, 2, 3)
    где 1,2,3 и тд. id стран которые надо оставить.

    То-есть этот запрос удалит из базы все страны, кроме тех чьи id вы пропишете в скобках.
     
  5. Podmasteri

    Podmasteri

    Регистрация:
    27 дек 2012
    Сообщения:
    214
    Симпатии:
    34
    Удалит или отключит , мне надо отключить а не удалить
     
  6. SmileOk

    SmileOk

    Регистрация:
    29 янв 2013
    Сообщения:
    84
    Симпатии:
    27
    Удалит.А если всё-таки в будущем вам понадобится определённая страна вы можете её вернуть бэкапом таблицы "country".
     
  7. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    890
    Отключаем регионы
    PHP:
    UPDATE oc_zone SET status 0
    Странны
    PHP:
    UPDATE oc_country SET status 0
     
    Podmasteri и perepela21 нравится это.
  8. Yoda

    Yoda

    Регистрация:
    5 фев 2013
    Сообщения:
    122
    Симпатии:
    22
    UPDATE oc_zone SET status = 0 WHERE `country_id` NOT IN (1, 2, 3)

    где 1,2,3 и тд. id стран которые надо оставить.
     
    Podmasteri и perepela21 нравится это.
  9. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    890
    Верно, но ТС просил все отключить, вряд ли он будет искать ИД и вписывать их в запрос... Проще будет включить 2 - 3 региона из админки

    к тому же не вижу смысла использования скобок, можно без них так
    PHP:
    UPDATE oc_zone SET status 0 WHERE country_id NOT IN (123)
     
    Podmasteri и perepela21 нравится это.
  10. Yoda

    Yoda

    Регистрация:
    5 фев 2013
    Сообщения:
    122
    Симпатии:
    22
    Я не очень хорошо разбираюсь в Mysql. Я просто взял часть вашего запроса, добавил часть запроса от SmileOk и получился чуть поудобней запрос :smile:. Вроде как.:unsure:
     
Статус темы:
Закрыта.