Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/11/2011, 00:37
nicostone
 
Fecha de Ingreso: marzo-2009
Mensajes: 76
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Update a base de datos desde php ingresar mas de 500 registros diferentes

Con lo que escribio waldragon ya estaria porque la posibilidad de que salga el mismo codigo tirando random de 12 caracteres es casi nula pero si quieres mayor seguridad podrias ir guardando los codigos generados en un array y cada vez que creas uno nuevo los compraras con los del array, sino existe insertas sino generas de nuevo el codigo.

Como para que tengas una base el codigo seria algo asi:
(Aclaro no lo he probado es para que tengas una guia)
Código PHP:
$sentencia="SELECT * FROM tabla ORDER by id desc";
$result=mysql_query($sentencia);
$arrayCodigos=array();
while(
$ver mysql_fetch_object($result)){
    
$id=$ver->id;
    
//creas el codigo
    
$codigo "";
    
$insertado false;
    while (!
$insertado){
        
$cadena_caracteres "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz1234567890";
        for(
$i=0;$i<12;$i++) {
            
$codigo .= substr($cadena_caracteres,rand(0,62),1);
        }
        if (
count($arrayCodigos) == 0){
            
$i=1// es la primera vez
        
}else{
            
$i=0;
        }
        
$repetido false;
        while (!
$repetido && count($arrayCodigos)>$i){
            if (
$codigo == $arrayCodigos[$i]){
                 
$repetido=true;
            }else{
                
$i++;
            }
        }
        if (!
$repetido){
            
$sentencia "UPDATE tabla SET codigo='".$codigo."' WHERE  id = '" $id "';";
            
mysql_query($sentencia) or die("Error al sumar las visitas");
            
$insertado=true;
            
$arrayCodigo[]=$codigo;
        }
    }

Saludos, Nico.

Última edición por nicostone; 22/11/2011 a las 00:54