Автоматическое генерирование номера не работает в начале нового года ⇐ Php
Автоматическое генерирование номера не работает в начале нового года
Я пытаюсь сгенерировать номер счета в следующей последовательности в php L5-0124-0001 (где L5 — название компании, 01 — месяц, а 24 — год, где последние четыре цифры — серийный номер). Я использовал этот код с октября 2023 года, все работало нормально до конца 2023 года. но поскольку сегодня начинается 2024 год, он перестает работать (название компании отображается правильно, год и месяц также, но последние четыре цифры не увеличиваются, когда необходимо создать новый счет. Для всех счетов он остается 0001, где, как и должно быть, L5 -0124-0002 и так далее........ниже код
$CI = "L5"; //Только пример $CIcnt = стрлен ($CI); $offset = $CIcnt + 6; // Получаем текущий месяц и год в виде двузначных строк $месяц = дата("м"); // например 09 $год = дата("г"); // например 23 // Получаем номер последнего счета из базы данных $query = "ВЫБРАТЬ номер пациента ИЗ iap2 ORDER BY номер пациента DESC LIMIT 1"; $result = mysqli_query($con,$query); // Используйте mysqli_fetch_assoc(), чтобы получить ассоциативный массив выбранной строки $row = mysqli_fetch_assoc($result); // Используйте $row['patientno'] для получения номера последнего счета $lastid = $row['пациент нет']; // Проверяем, пуст ли номер последнего счета или указан другой месяц или год if(empty($lastid) || (substr($lastid, $CIcnt + 1, 2) != $month) || (substr($lastid, $CIcnt + 3, 2) != $year)) { // Начинаем новую последовательность с 0001 $number = "$CI-$месяц$год-0001"; } еще { // Увеличиваем последние четыре цифры на единицу $idd = substr($lastid, $offset); // например 0001 $id = str_pad($idd + 1, 4, 0, STR_PAD_LEFT); // например 0002 $number = "$CI-$месяц$год-$id"; }
Я пытаюсь сгенерировать номер счета в следующей последовательности в php L5-0124-0001 (где L5 — название компании, 01 — месяц, а 24 — год, где последние четыре цифры — серийный номер). Я использовал этот код с октября 2023 года, все работало нормально до конца 2023 года. но поскольку сегодня начинается 2024 год, он перестает работать (название компании отображается правильно, год и месяц также, но последние четыре цифры не увеличиваются, когда необходимо создать новый счет. Для всех счетов он остается 0001, где, как и должно быть, L5 -0124-0002 и так далее........ниже код
$CI = "L5"; //Только пример $CIcnt = стрлен ($CI); $offset = $CIcnt + 6; // Получаем текущий месяц и год в виде двузначных строк $месяц = дата("м"); // например 09 $год = дата("г"); // например 23 // Получаем номер последнего счета из базы данных $query = "ВЫБРАТЬ номер пациента ИЗ iap2 ORDER BY номер пациента DESC LIMIT 1"; $result = mysqli_query($con,$query); // Используйте mysqli_fetch_assoc(), чтобы получить ассоциативный массив выбранной строки $row = mysqli_fetch_assoc($result); // Используйте $row['patientno'] для получения номера последнего счета $lastid = $row['пациент нет']; // Проверяем, пуст ли номер последнего счета или указан другой месяц или год if(empty($lastid) || (substr($lastid, $CIcnt + 1, 2) != $month) || (substr($lastid, $CIcnt + 3, 2) != $year)) { // Начинаем новую последовательность с 0001 $number = "$CI-$месяц$год-0001"; } еще { // Увеличиваем последние четыре цифры на единицу $idd = substr($lastid, $offset); // например 0001 $id = str_pad($idd + 1, 4, 0, STR_PAD_LEFT); // например 0002 $number = "$CI-$месяц$год-$id"; }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение