Foros del Web » Programando para Internet » PHP »

ingresar registros aleatorios sin repetir

Estas en el tema de ingresar registros aleatorios sin repetir en el foro de PHP en Foros del Web. buenas a todos. saben estoy haciendio mis script y bueno me tope con un problema, genero un codigo aleatorio alfanumerico pero el problema no se ...
  #1 (permalink)  
Antiguo 26/02/2010, 15:56
 
Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 2 meses
Puntos: 0
ingresar registros aleatorios sin repetir

buenas a todos.

saben estoy haciendio mis script y bueno me tope con un problema, genero un codigo aleatorio alfanumerico pero el problema no se presento al inicio pero ahora q tengo registro tras registros hay codigos aleatorios q se repiten

Código PHP:
<?php 
   
include("conex.php"); 
   
$link=Conectarse(); 
   
$alternatorio=codigo_random();  // se genera codigo asi "41de4xd"
   
$nombre=$_GET['nombre']; 
   
$apellidos=$_GET['apellidos'];    
   
mysql_query("insert into prueba (Nombre,Apellidos,Codigo) values ('$nombre','$apellidos','$alternatorio')",$link); 
    
   
header("Location: ejem07d.php"); 
?>
el problema es que buscando el la base de datos y tengo mas de 3 registros "41de4xd" asi que busque y le agrege un if con una consulta si existia dicho registro y no sale el error pero aveses se agrega una nueva conzidencia el el codigo

Espero sus ayudas
  #2 (permalink)  
Antiguo 26/02/2010, 16:03
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: ingresar registros aleatorios sin repetir

Deberías ponerle más caracteres e incluír mayúsculas. Así sería muy improbable que se repitieran. Antes de ingresar el dato, debes consultar así:
Código PHP:
Ver original
  1. $sql="SELECT * FROM prueba WHERE codigo='".$codigoNuevo."'";
  2. $consulta=mysql_query($sql, $conexion) or die("error");
  3.  
  4. $numerocoincidencias=mysql_num_rows($consulta);
  5.  
  6. if($numerocoincidencias==0 ) {
  7.         // HACES INSERT INTO.....
  8. } else {
  9.  
  10.          //Vuelves a generar el aleatorio y volver a llamar a la función
  11.  
  12. }
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 26/02/2010, 23:02
Avatar de camsworksinc  
Fecha de Ingreso: julio-2008
Ubicación: Queretaro
Mensajes: 261
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: ingresar registros aleatorios sin repetir

Porque no mejor usas la funcion uniqid() , que te genera un valor siempre unico?
__________________
¡Malditas computadoras que siempre hacen lo que les DIGO que hagan, no lo que QUIERO que hagan!

Etiquetas: registros, aleatoria
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 20:40.