Я уже запрограммировал базовую систему выставления счетов, используя PHP/MySQL, которая имеет структуру таблицы следующим образом:Как запрограммировать повторяющуюся систему выставления счетов/счетов с использованием PHP и MySQL
Таблица счетов; invoice_id, invoice_date, customer_id и т. д. Таблица строк счетов-фактур; invoice_line_id, invoice_id, количество, цена, описание и т. д.
Мне нужна система для автоматического создания будущих счетов-фактур с установленными интервалами (например, каждые 1 неделю или каждые 2 месяца и т. д.). Я думал о создании новой таблицы следующим образом;
Таблица расписания счетов-фактур; invoice_schedule_id, invoice_id, интервал (например, 1), interval_unit (месяцы), дата начала, next_processing_date
Моя идея состояла в том, чтобы затем установить задание cron, которое будет выполнять файл PHP один раз в день. Затем файл PHP будет генерировать счет-фактуру, когда next_processing_date соответствует сегодняшней дате и обновит next_processing_date в базе данных. Мне нравится, как это сделать, но я застрял в том, как на самом деле вставить новый счет в таблицу/базу данных. Имеет ли MySQL какой-либо тип функции «копировать строку», поскольку новый счет-фактура будет идентичен исходному, за исключением того, что invoice_date должен быть обновлен.
Звучит очень похоже: http://stackoverflow.com/questions/9156340/how-to-copy-a-row-and-insert-in-same-table-with-a-autoincrement-field-in- MySQL – BigScar