Ver Mensaje Individual
  #13 (permalink)  
Antiguo 07/01/2016, 22:08
pilucho
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Ayudita con el ID inicio del año empezar otra vez

Cita:
Iniciado por rodocoyote15 Ver Mensaje
En este ejemplo, tomo como que estamos en el 2017. :D

Código PHP:
Ver original
  1. <?php
  2. if(date("d/m") == "01/01"){
  3.     $codQuery = "CONSULTA A BD PARA OBTENER ULTIMO ID";
  4.    while($fila = mysqli_fetch_array($codQuery) ) {
  5.      if( strpos($fila['codigoUnico'],date("Y") ) ){ // Si en el ultimo ID esta el 2017
  6.         $codUnico = $fila['codigoUnico']; //ultimo codigo unico recuperado de la base de dato    
  7.         $buscarCodigo = strrpos($codUnico, '-')+1; // busca la posición del último guion medio y le añade 1
  8.         $codigo = substr($codUnico, $buscarCodigo); // recupera lo que está después del ultimo guión, que sería el código (1480)
  9.         $codNuevo = $codigo + 1; // añade 1 al código anterior
  10.         echo $dato = "CODIGO-".date("Y")."-".$codNuevo; // te devolvería
  11.      }//2if    
  12.  
  13.      }
  14.     else{ // Si el ultimo ID tiene el año 2016.
  15.       echo $dato = "CODIGO-".date("Y")."-1";
  16.     }//2else
  17.  
  18. } // 1if
  19.  
  20. else{        
  21.         $buscarCodigo = strrpos($codUnico, '-')+1; // busca la posición del último guion medio y le añade 1
  22.         $codigo = substr($codUnico, $buscarCodigo); // recupera lo que está después del ultimo guión, que sería el código (1480)
  23.         $codNuevo = $codigo + 1; // añade 1 al código anterior
  24.         $dato = "CODIGO-".date("Y")."-".$codNuevo; // te devolvería 1481
  25.         echo $dato;
  26.         }// while
  27.  
  28. }//1else
  29.         ?>
Quizá esto sirva, lo hice sin revisar. Si tiene errores, comentas

Edito. Me hizo falta una condicional para: Si hoy no es primero de enero, pero aun no hay un registro con este año. Saludos :D




Error aqui
else{ // Si el ultimo ID tiene el año 2016.

y aqui

}//1else
?>

Código PHP:
Ver original
  1. <?php
  2. if(date("d/m") == "01/01"){
  3. $codQuery = "INSERT INTO Personas (Nombre,Apellido,Anio,CodigoUnico) VALUES ('$Nombre','$Apellido','$Anio','')";
  4. while($fila = mysqli_fetch_array($codQuery) ) {
  5. if( strpos($fila['codigoUnico'],date("Y") ) ){ // Si en el ultimo ID esta el 2017
  6. $codUnico = $fila['codigoUnico']; //ultimo codigo unico recuperado de la base de dato
  7. $buscarCodigo = strrpos($codUnico, '-')+1; // busca la posición del último guion medio y le añade 1
  8. $codigo = substr($codUnico, $buscarCodigo); // recupera lo que está después del ultimo guión, que sería el código (1480)
  9. $codNuevo = $codigo + 1; // añade 1 al código anterior
  10. echo $dato = "CODIGO-".date("Y")."-".$codNuevo; // te devolvería
  11. }//2if
  12.  
  13. }
  14. else{ // Si el ultimo ID tiene el año 2016.
  15. echo $dato = "CODIGO-".date("Y")."-1";
  16. }//2else
  17.  
  18. } // 1if
  19.  
  20. else{
  21. $buscarCodigo = strrpos($codUnico, '-')+1; // busca la posición del último guion medio y le añade 1
  22. $codigo = substr($codUnico, $buscarCodigo); // recupera lo que está después del ultimo guión, que sería el código (1480)
  23. $codNuevo = $codigo + 1; // añade 1 al código anterior
  24. $dato = "CODIGO-".date("Y")."-".$codNuevo; // te devolvería 1481
  25. echo $dato;
  26. }// while
  27.  
  28. }//1else
  29. ?>