Ver Mensaje Individual
  #49 (permalink)  
Antiguo 09/01/2016, 17:06
pilucho
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 19 años, 5 meses
Puntos: 6
Respuesta: Ayudita con el ID inicio del año empezar otra vez

Guarda en un Campo CodigoUnico
CODIGO-AÑO + ID segun se incremente el ID

Resultado:
CODIGO-2015-1
CODIGO-2015-2
ETC...
Código PHP:
Ver original
  1. <?
  2.     include_once('conectar.php'); // Conexion
  3.     $conexion = mysqli_connect($dbhost,$dbuser,$dbpass,$dbdatabase) or die ('error');   // Verificar Conexión
  4.     if (!$conexion) {   die("Error de conexión: " . mysqli_connect_error());    }
  5.    
  6.     if (isset($_POST['action']) && $_POST['action'] == 'add')
  7.     {
  8.     if (isset($_GET['idp']))    $idp = $_GET['idp']; // ID de Personas
  9.     $Nombre = $_POST['Nombre'];
  10.     $Apellido = $_POST['Apellido'];
  11.     $Anio = $_POST['Anio'];
  12.     $CodigoUnico = $_POST['CodigoUnico'];
  13.     $inserta = $db->query("INSERT INTO Personas (Nombre,Apellido,Anio,CodigoUnico) VALUES ('$Nombre','$Apellido','$Anio','')");
  14.     $ultima = mysqli_insert_id($db);
  15.     $dato = "CODIGO-".date("Y")."-".$ultima;  // Resultado CODIGO-2015-ID = CODIGO-2015-1
  16.     $actu = $db->query("UPDATE Personas SET CodigoUnico = '$dato' WHERE id = '$ultima'");
  17.     if($actu){        
  18.     echo "Listo";
  19.     echo "ID es: " . $ultima; // AQUI SOLO ME MUESTRA EL ID INGRESADO AL DB
  20.     } else {
  21.     echo "Error: " . $SQL . "<br>" . mysqli_error($conexion);
  22. }
  23. }
  24. ?>

AQUI TU CODIGO
Código PHP:
Ver original
  1. <?php
  2.     $añoActual = date("Y");
  3.  
  4.     include_once('conectar.php'); // Conexion
  5.     $conexion = mysqli_connect($dbhost,$dbuser,$dbpass,$dbdatabase) or die ('error');   // Verificar Conexión
  6.     if (!$conexion) {   die("Error de conexión: " . mysqli_connect_error());    }
  7.    
  8.     if(date("01/01") == "01/01"){
  9.       $queryNuevo = "SELECT CodigoUnico FROM Personas WHERE idp=(SELECT max(idp) FROM Personas) AND CodigoUnico REGEXP '$añoActual' ";
  10.       if ($ultimoId = $conexion->query($queryNuevo)) {
  11.         /* obtener el array de objetos */
  12.           if($ultimoId->num_rows) {
  13.           while ($fila2 = $ultimoId->fetch_row()) {
  14.            
  15.             $ultimoIdAno = $fila2[0];
  16.             $buscarCodigo = strrpos($ultimoIdAno, '-')+1; // busca la posición del último guion medio y le añade 1
  17.             $codigo = substr($ultimoIdAno, $buscarCodigo); // recupera lo que está después del ultimo guión, que sería el código (1480)
  18.             $codNuevo = $codigo + 1; // añade 1 al código anterior
  19.             $dato = "CODIGO-".$añoActual."-".$codNuevo; // te devolvería            
  20.  
  21.             }      
  22.           }
  23.           else{
  24.           $dato = "CODIGO-".$añoActual."-1";
  25.           }
  26.  
  27.  
  28.         }  
  29.     }
  30.     else{
  31.         $consulta = "SELECT CodigoUnico FROM Personas WHERE idp=(SELECT max(idp) FROM Personas)";
  32.  
  33.         if ($resultado = $conexion->query($consulta)) {
  34.             /* obtener el array de objetos */
  35.             while ($fila = $resultado->fetch_row()) {
  36.                 $ultimo_id = $fila[0];                
  37.                 $buscarCodigo = strrpos($ultimo_id, '-')+1; // busca la posición del último guion medio y le añade 1
  38.                 $codigo = substr($ultimo_id, $buscarCodigo); // recupera lo que está después del ultimo guión, que sería el código (1480)
  39.                 $codNuevo = $codigo + 1; // añade 1 al código anterior
  40.                 $dato = "CODIGO-".$añoActual."-".$codNuevo; // te devolvería          
  41.                 echo $dato;
  42.             }  
  43.            
  44.         }    
  45.     }
  46. ?>