За последние 24 часа нас посетили 22246 программистов и 1157 роботов. Сейчас ищет 401 программист ...

Формирование номера заказа

Тема в разделе "PHP и базы данных", создана пользователем kashmir, 12 сен 2018.

  1. kashmir

    kashmir Новичок

    С нами с:
    12 сен 2018
    Сообщения:
    1
    Симпатии:
    0
    Задача несколько неординарная, поэтому решил обратиться к более опытным товарищам.

    Если вкратце изложить, нужно создать скрипт формирования номера заказа следующим образом:
    20180912/х
    Где первая часть - это дата формирования заказа. А вторая (x) - его номер. И номера должны ежесуточно, естественно, обнуляться (начинаться снова с 1) и начинать заново.
    Подскажите, пожалуйста, хоть в каком направлении "копать"
     
  2. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    можно поступить так:
    1 создаёте таблицу имя которой текущая дата с одним автоинкрементным полем primary key и текущей датой вторым полем
    2 делаете вставку по дефолту
    3 делаете выборку из бд готового номера заказа (или сразу вставляете номер заказа в нужную таблицу, что предпочтительнее)
    4 если надо удаляете вчерашнюю таблицу
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Отделите это представление от более низкоуровневого формата хранения. Но можете кэшировать x в записи для эффективности. Или где-то кэшировать «базу суток», например в связанной таблице «дата/база суток».
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @kashmir, в mysql есть LAST_INSERT_ID().
    Гляньте там пример про таблицу sequence.
    Для Вашего случая можно создать таблицу с двумя полями: дата и номер заказа.