Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] manejar combinaciones alfanumericos

Estas en el tema de manejar combinaciones alfanumericos en el foro de PHP en Foros del Web. Hola, Intento hacer una base de datos donde guardar unos alias para unos nombres ej: nombre0 = a0 nombre1 = a1 ... nombre9 = a9 ...
  #1 (permalink)  
Antiguo 25/07/2015, 19:06
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 6 meses
Puntos: 10
manejar combinaciones alfanumericos

Hola,
Intento hacer una base de datos donde guardar unos alias para unos nombres
ej:
nombre0 = a0
nombre1 = a1
...
nombre9 = a9
nombre10 = b0
nombre11 = b1

nombrexxx = aa0
nombreyyy = aa1

etc

Lo que pasa es que cuando quiero añadir un nombre nuevo me gustaria saber cual seria el primer alias libre ( siguendo la logica de arriba )

Alguna idea como manejar estas combinaciones ? por PHP o por Mysql ??

Gracias
  #2 (permalink)  
Antiguo 25/07/2015, 22:33
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 9 meses
Puntos: 69
Respuesta: manejar combinaciones alfanumericos

Acaso el alias no se va creando secuencialmente? Me refiero a que si es posible que se genere p ej el b9 sin haberse generado el a7? Si son secuenciales tendrías que tomar el último registro agregado (puedes hacer un select y ordenarlos de forma descendente tomando el primer registro) y sumarle 1 al número y en caso que la suma sea mayor a 10 aumentar una letra. Creo que es así no?
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 26/07/2015, 02:40
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 6 meses
Puntos: 10
Respuesta: manejar combinaciones alfanumericos

Gracias por responder,
Si. Son secuenciales o sea no puede haber b9 sin haber sido generado el b8 o alguno de antes.

Ja ja no te lo vas a creer ... una solución parecida me ha surgido en el sueño

He pensado asi:

hacer un array con las letras $letras = ["a","b",..."z"];

- seleccionar el ultimo con el MAX(id) ... que es autoincremental
- si el ultimo carácter (numérico) es menor que 9 aumentar una unidad
- si no, buscar el indice de la penúltima letra en el array $letras
-si la letra que corresponde a este indice no es z coger la letra siguiente $letras[indice+1] y el numero final = 0
-si la letra penúltima es z ... continuar con la lógica de arriba para la antepenúltima etc

Gracias otra vez, y si alguien tiene otra idea mejor, bienvenida sea

Etiquetas: combinaciones, manejar, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:17.