Перейти к содержанию
raskenx

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

Рекомендуемые сообщения

Всем привет, в опенкарте каждому заказу присуждается свой номер по порядку 1, 2, 3... и т.д. Как сделать чтобы этот номер начинался скажем так со 100 или 1000? спасибо

Безымяапврнный.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в БД изменить id  =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, nexus сказал:

в БД изменить id  =)

Дополню ответ предыдущего комментатора — в базе данных через phpmyadmin в таблице oc_order изменить  id у последнего заказа на нужный, но также не стоит забывать изменить id всех сопряженных таблиц, а то есть:
 

oc_order_history 

oc_order_option 

oc_order_product   

oc_order_status 

oc_order_total 

и так далее

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Lazdakon сказал:

Дополню ответ предыдущего комментатора — в базе данных через phpmyadmin в таблице oc_order изменить  id у последнего заказа на нужный, но также не стоит забывать изменить id всех сопряженных таблиц, а то есть:
 

oc_order_history 

oc_order_option 

oc_order_product   

oc_order_status 

oc_order_total 

и так далее

спс. буду пробовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, raskenx сказал:

спс. буду пробовать

Вы хотите чтобы новые заказы тоже начинались с этого с большего числа?
Тогда выполните SQL запрос

ALTER TABLE oc_order AUTO_INCREMENT=1001;

Вместо 1001 то число с которого хотите заказы чтобы продолжались, а то что выше вам сказали для этой цели не подойдет)

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, baster789 сказал:

Вы хотите чтобы новые заказы тоже начинались с этого с большего числа?
Тогда выполните SQL запрос


ALTER TABLE oc_order AUTO_INCREMENT=1001;

Вместо 1001 то число с которого хотите заказы чтобы продолжались, а то что выше вам сказали для этой цели не подойдет)

выдало ошибку, сделал по первому варианту, поправил БД... Но все равно большое спасибо

 

Скрытый текст

Безымянваыаный.png

 

Изменено пользователем raskenx

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
выдало ошибку, прикрепил скриншот
5910af8c75584_.thumb.png.e0ec7e50d0a34d992d8cf3058b18d048.png

Сначала откройте базу опенкарт и потом выполните запрос)

Отправлено с моего IQ4511 Octa через Tapatalk

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полная х-ня

 

Номер заказа имеет сои привязки

 

Есть номер инвойса

Вам нужен уникальный, случайный, не упорядоченный номер заказа, аот и играйтесь его номером иновойса - и при этом НИЧЕГО Не сломаете

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, chukcha сказал:

Полная х-ня

 

Номер заказа имеет сои привязки

 

Есть номер инвойса

Вам нужен уникальный, случайный, не упорядоченный номер заказа, аот и играйтесь его номером иновойса - и при этом НИЧЕГО Не сломаете

 

 

Простите кончено, но причем здесь номер инвоиса? На мыло клиенту приходит номер заказа, и думаю первоначальная цель автора темы, создать видимость активной деятельности магазина. Альтерацией инкремента в базе ничего не сломается, вся система заказов танцует от order_id и каким образом вы себе представляете поломку, я не очень понимаю) Фактически мы просто внушаем системе, что было уже нужное нам колличество заказов, а что там в конце номера счета - конечному пользователю до лампочки. Для пущего тумана можно сделать генерацию счетов с перфиксом в виде даты заказа, тогда вообще идеально)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Фикция!

Я знаю, откуда и где и зачем, и как єто потом ломает всю строгость

 

Номер инвойса это тоже признак заказа, хотите его делать уникльным, вот и пользуйте это поле

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, chukcha сказал:

Фикция!

Я знаю, откуда и где и зачем, и как єто потом ломает всю строгость

 

Номер инвойса это тоже признак заказа, хотите его делать уникльным, вот и пользуйте это поле

Не подумайте, что я докапываюсь или еще что-то, просто стало интересно, для общего развития, да и другим как урок будет: можете привести пример в какой ситуации подобное решение навредит системе?
Я, просто, не могу представить подобный кейс, а красота решения, это уже больше из вопросов "быдло-небыдло кодинг", которые владельцев магазинов не волнуют, если это не поломает сам магазин)
Вы ведь сами понимаете, что сложность в реализации увеличения инкремента и рандомизации номеров малеха разная, -  для людей с пыхой и структурой карта не знакомых

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ок..

Тупо

 

перед добавлением вам нужно сгегенировать "уникальный" id

а поле autoincrement

Затем у вас там индекс по этому полю, и нужны связи

Ну, вроде ничего страшного..

Но!!! зачем эта головная боль?

 

Есть номер инвойса, а это тупое математическое действие

10 минут назад, baster789 сказал:

какой ситуации подобное решение навредит системе?

Не будет учтено в каком-нибудь кривом модуле..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, chukcha сказал:

ок..

Тупо

 

перед добавлением вам нужно сгегенировать "уникальный" id

а поле autoincrement

Затем у вас там индекс по этому полю, и нужны связи

Ну, вроде ничего страшного..

Но!!! зачем эта головная боль?

 

Есть номер инвойса, а это тупое математическое действие

Не будет учтено в каком-нибудь кривом модуле..

А как же естественные гэйпы межде айдишниками в случае операций добавления/удаления тех же товаров например? Или например было у меня 1200 заказов, я удалил первые 1000 так как ненужны? Вроде как естественный процесс выходит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да причем здесь  естественный процесс?

 

Вот вап простейший пример

 

Вы генерите случайный номер id

 

Вот вам пример

1 нужно сегенриовать

2. проверить на наличие и в случае наличия - перейти к п.1

 

Второй

Кривой модуль который удаляет заказ, но не удаляет что-то из связанных таблиц (забыл, не учел, не знал!!!!)

 

Генерация, попадает на ранее существующий  - опа-на - потеря заказа!

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.