Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/01/2015, 19:37
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Generar códigos aleatorios y verificar que no se repitan en mysql

Te invito a reflexionar tu problema antes de que te ahogues:

Piensa, que en algún momento tendrás montones de registros en la BD, ¿planeas verificar la existencia del código que has generado?

Tendrías que hacer, al menos una consulta por cada código a verificar (tal cual lo indicas en tu código), y suponiendo que se dupliquen vas a terminar haciendo muchas consultas a la BD.

Y así será todo el tiempo, mientras más registros agregues más consultas tendrás que hacer, y por lo tanto es una solución frágil.

Ese es un verdadero problema a la larga.

Por otro lado, generar el formato xxxxx-xxxxx-xxxxx-xxxxx-xxx15 es cosa fácil:

Código PHP:
Ver original
  1. function genId() {
  2.   $format = 'xxxxx-xxxxx-xxxxx-xxxxx-xxxy';
  3.  
  4.   return preg_replace_callback('/[xy]/', function($match) {
  5.     $pattern = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  6.  
  7.     if ($match[0] === 'x') {
  8.       return substr($pattern, mt_rand(0, strlen($pattern)), 1);
  9.     } else {
  10.       return substr(date('y'), -2);
  11.     }
  12.   }, $format);
  13. }
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.