hola amigo como hago para generar codigo alfanumerico de 16 digitos con php y bd que no se repita, la idea es como una especie de bono.
ej : xxxx-xxxx-xxxx-xxxx
3PXM-MZ54-90RL-65O0
espero me entienda
perdon de 16 me equivoq
| |||
generar codigo alfanumerico de 12 digitos hola amigo como hago para generar codigo alfanumerico de 16 digitos con php y bd que no se repita, la idea es como una especie de bono. ej : xxxx-xxxx-xxxx-xxxx 3PXM-MZ54-90RL-65O0 espero me entienda perdon de 16 me equivoq |
| ||||
Respuesta: generar codigo alfanumerico de 12 digitos A mi se me ocurre una forma muy sencilla. (De hecho la semana pasada hice algo parecido). Simplemente mira los caracteres ascii que corresponden a los numeros y a las letras. Genera un número aleatorio entre esas cantidades (como son dos rangos diferentes escoje aleatoriamente primero si cogera un número o una letra) y convierte ese número a código ascii para su respectivo valor. Por supuesto la acción se debe repetir 16 veces (para los números y letras, si quieres añadir ahi mismo los guiones toca colocar 4 mas o se los colocas al final). Sobre colocar los guiones podrias verificar con la operación modulo 5 para que si el modulo 5 da cero coloque guion en lugar de generar letra o número (En caso de que se desee hacer en la misma iteración). No se si exista manera mas facil pero esa fue la que se me ocurrio (Igual no sobra verificar al final en la base de datos si el código generado existe, es muy poco probable pero es una manera de curarse en salud) p.s. Despues de pensar un rato se podria hacer solo con 4 ciclos, generas tres números aleatorios para definir si es número o letra, generas otros tres aleatorios para decidir que letra o número colocar y lo pegarias a tres cadenas de texto diferentes. Al final de los 4 ciclos concatenas todas los textos en un solo con el guión. Es lo mismo solo que más rápido. Espero sirva la idea.
__________________ Blog de humor http://elcuasatar.net63.net/ Última edición por cuasatar; 29/06/2012 a las 14:35 |
Etiquetas: |