Проблема! Не правильно назначается id для нового товара

Тема в разделе "Shop-script", создана пользователем Dmytro_ua, 10 авг 2008.

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

    Dmytro_ua

    Регистр.:
    15 фев 2008
    Сообщения:
    239
    Симпатии:
    21
    Привет всем,
    Обнаружилась ошибка, при добавлении нового товара, его id создается не по порядку, как должно (+1 от предыдущего), а с прыжками в 10-100.
    На данный момент набежало более 18000, при том, что товара чуть больше 4000.

    1. При просмотре товаров, видно, что проблема была не сразу, т.к. примерно к 1500 айди назначалось правильно.
    2. Товар добавляется вручную, иногда через импорт из таблицы CSV.
    3. Так же замечено, что айди товаров которые импортировал из таблицы CSV идут по порядку, пусть даже начиная с 9к, но по порядку.
    4. На данный момент уже не вспомню, что мог добавлять или модифицировать в скрипте в тот период.

    Кто подскажет в чем проблема?
    Заранее благодарен
     
  2. Dmytro_ua

    Dmytro_ua

    Регистр.:
    15 фев 2008
    Сообщения:
    239
    Симпатии:
    21
    На самом деле у меня около 2000 товара в обработанном состоянии и чуть больше 2000 в корне.
    При обновлении прайса часть товара в корне приобретает новое значение.

    Как можно поправить ситуацию с id? Т.к. скрипт по новым поступлениям из соседней ветки "Разыскивается скрипт «Новые поступления» под Shop Script Premium" не корректно работает. :thenks:
     
  3. Caurus

    Caurus

    Регистр.:
    21 фев 2008
    Сообщения:
    348
    Симпатии:
    285
    Как мне кажется, происходит следующее скрип при обновлении товара заводит новые id товара и так как когда-то id 150, например уже использовался он берет и делает новый. Данную схему можно проследить на заказах если есть заказ 34 и потом его удалить из базы, то заказа 34 больше никогда не будет все перескочит на 35, хотя на момент заказа 35 заказа 34 уже не было. В общем, это логично! но это если я правильно понял проблему. И если это так то как мне кажется, придется много чего переписывать!
     
    Dmytro_ua нравится это.
  4. Dmytro_ua

    Dmytro_ua

    Регистр.:
    15 фев 2008
    Сообщения:
    239
    Симпатии:
    21
    Спасибо, по логике вещей ты прав, но переписывать, как мне кажется, ничего не нужно. Особенно искать какой-то код, который всё бы правил.

    Если ты знаешь, скажи какой файл за это отвечат, и где можно это все вручную поправить, т.к. некоторые "модули" не корректно работают...
     
  5. Caurus

    Caurus

    Регистр.:
    21 фев 2008
    Сообщения:
    348
    Симпатии:
    285
    Так прямо я не знаю надо искать и думать. Но проблема в другом, вернее вопрос: И чего мы добьемся?

    1) Того что не будет следиться за порядком нумерации и дублирования id товара? Это приведет к полному хаосу! Ты ж не пытаешься переписать Windows, что б была возможность создавать 15 папок одного названия на одном разделе жесткого диска...? или пробовал? :D;)

    2) При импорте или экспорте в SS нет вообще выгрузки id товара. Зависимость берется от чего угодно, а не от id товара. Я тут пару месяцев назад помогал человеку на форуме (все это доступно) как переделать процесс загрузки данных ему слова нужны были в количестве товара. Я не знаю, помогло это или нет, но это затронуло очень много чего и могли быть скрытые проблемы, о которых не было известно сразу откроются позже.

    3) Может легче подумать, что там с модулями??? И в них решить проблему. Хотя как мне кажется, я знаю, в чем проблема. Ты добавляешь в хиты или спец. предложения один товар с одним id, а при обновлении базы этот товар или меняет свой id или вовсе отсутствует в базе или место него выдается другой товар... может, подумаем в эту сторону. Но тут, то ж подводные камни так как уже после загрузки все определяется по id товара.. как решение можно использовать для определения или артикул или еще какое поле, которое будут уникально для каждого товара. Но это все мысли надо получить от тебя данные. что и в чем проблема!
     
  6. Dmytro_ua

    Dmytro_ua

    Регистр.:
    15 фев 2008
    Сообщения:
    239
    Симпатии:
    21
    Товар у меня постоянный (каждый товар имеет неизменный артикул), обновляя прайс сортирую по артикулу, обновляется наличие и цена. Все остальное остается. Не исключено, что при обновлении прайса появляется и новый товар. При последнем обновлении, в корне лежит около 2000 необработанного товара и новый товар имеет айди уже 22000.
     
  7. alexander-x

    alexander-x Постоялец

    Регистр.:
    20 май 2007
    Сообщения:
    130
    Симпатии:
    26
    никогда не ориентируйся на айди, оно никому ничего не должно кроме того чтоб быть уникальным. постоянный - артикул
     
  8. NightBlade

    NightBlade Создатель

    Регистр.:
    2 авг 2007
    Сообщения:
    30
    Симпатии:
    5
    суть вы изложили правильно "на пальцах", объясню теперь почему так происходит: id это столбец id (может иметь любое название) в базе данных. он имеет атрибут auto_increment, что означает что в базе хранится указатель, который при создании новой записи задает (если он явно не указан в запросе) id значение предыдущей записи+1 и независимо от того, что прошлый "заказ" удален.
     
Статус темы:
Закрыта.