Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/10/2015, 15:55
Avatar de xfxstudios
xfxstudios
 
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: ¿Cómo crear un generador de consecutivos para oficios?

si quieres que el prefijo sea automatico es decir, que se incremente una letra al igual que el codigo, seria algo asi:

Código PHP:
Ver original
  1. $consu = $db->query("SELECT * FROM tabla ORDER BY id DESC");
  2. $total = mysqli_num_rows($consu);
  3. $rowid = $consu->fetch_assoc();
  4.  
  5. $codigo = sprintf("%06d", $rowid['id']);//le asignamos ceros antes a nuestra id para formatearla ejemplo 000015
  6.  
  7. $a = $rowid['prefijo'];//cadena extraida de la base de datos
  8.  
  9. $ultima = substr($a, -1, 1);//leemos el ultimo caracter de la cadena
  10. $antes = substr($a, 0, -1);//leemos los primero caracteres omitiendo el ultimo
  11.  
  12. //verificamos el caracter leido y la cambiamos la la sigiente letra en el alfabeto
  13. switch ($ultima) {
  14.   case 'A': $sig = 'B'; break; case 'B': $sig = 'C'; break; case 'C': $sig = 'D'; break; case 'D': $sig = 'E'; break; case 'E': $sig = 'F'; break; case 'F': $sig = 'G'; break; case 'G': $sig = 'H'; break; case 'H': $sig = 'I'; break; case 'I': $sig = 'J'; break; case 'J': $sig = 'K';  break; case 'K': $sig = 'L'; break; case 'L': $sig = 'M'; break; case 'M': $sig = 'N'; break;
  15.  case 'N': $sig = 'O'; break; case 'O': $sig = 'P'; break; case 'P': $sig = 'Q'; break; case 'Q': $sig = 'R'; break; case 'R': $sig = 'S'; break; case 'S': $sig = 'T'; break; case 'T': $sig = 'U'; break; case 'U': $sig = 'V'; break; case 'V': $sig = 'W'; break; case 'W': $sig = 'X'; break; case 'X': $sig = 'Y'; break; case 'Y': $sig = 'Z'; break;
  16. }
  17.  
  18. //creamos el limite del bucle for uninendo los primero caracteres con el nuevo caracter
  19. $b = $antes.$sig;
  20.  
  21. //generamos el siguiente codigo de texto
  22. for($i=$b; $i<=$b; $i++)
  23.  
  24. //mostramos el codigo generado
  25.  
  26. $cod_final = $i."-".$codigo;//quedaria algo asi ABC-000015
  27.  
  28. //guardamos el codigo en la base de datos
  29. $guarda = $db->query("INSERT INTO tabla (codigo) VALUE ('$cod_final')");
  30.  
  31. //mostramos el Codigo
  32. echo $cod_final;
__________________
[email protected]
HITCEL