PHP - Generar número factura

 
Vista:
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Generar número factura

Publicado por Sergioente (112 intervenciones) el 01/02/2022 21:49:51
Buenas noches. Tengo este código para generar número de factura automaticamente:

1
2
3
4
5
6
7
(SELECT CONCAT('FOLIO-',LPAD(SUBSTR(codigo,7,11)+1,4,'0'), '/',
 YEAR(NOW())) AS codigo
 FROM factura WHERE year(fecha) = YEAR(NOW()) ORDER BY codigo DESC
 LIMIT 1)
UNION
(SELECT CONCAT('FOLIO-0001', '/', YEAR(NOW())) AS codigo )
ORDER BY codigo DESC LIMIT 1;

Qué ocurre? que cuando cambio de año, vuelve a poner P-0001/2022. Luego tengo un select donde aparecen todos los presupuestos ordenados por id, y al elegir el nuevo registro, no puedo acceder a él. A ver si me explico, cuando despliego el select, el último registro que he insertado me aparece el último, pero si le doy click, no me aparece ese registro, sin embargo, si hago click en el segundo registro del select, si me carga el último. Creo que es por algún tema de las fechas. El primer registro que tengo, lógicamente lleva el siguiente número P-0001/2021 y el último, porque lo acabo de hacer hoy es P-0001/2022. Si le pongo los números correlativos no hay problema, lo que pasa es que quiero que cuando cambie el año me ponga los números a 1, así P-0001/año que estamos. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Yoel
Val: 617
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Generar número factura

Publicado por Yoel (198 intervenciones) el 02/02/2022 00:06:00
Hola Sergioente, el problema lo tienes en la definición del año, ya que estas tomando el año actual con YEAR(NOW())). En caso que quieres otro año tienes que definirlo de la siguiente forma YEAR("2021-01-01") de lo contrario solo te pasa el año en curso.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar