Foros del Web » Programando para Internet » PHP »

while, do... while !!!!!

Estas en el tema de while, do... while !!!!! en el foro de PHP en Foros del Web. Hola, regreso con mas preguntas xDDD. El asunto es... tengo uan funcion que me genera un string aleatorio de 8 caracteres entre numero y letras ...
  #1 (permalink)  
Antiguo 21/08/2009, 11:17
 
Fecha de Ingreso: junio-2009
Mensajes: 51
Antigüedad: 14 años, 10 meses
Puntos: 1
while, do... while !!!!!

Hola, regreso con mas preguntas xDDD.

El asunto es... tengo uan funcion que me genera un string aleatorio de 8 caracteres entre numero y letras mayusculas.

Este string debe de ingresarse a la base de datos pero SIN estar duplicado, entonces lo que hago es un quiery para ver si existe otro string igual en la base de datos y si existe, finaliza el script y no escribe nada en la BD.

$gen_string = generar_cadena(8);

$strQuery ="SELECT string FROM insertar WHERE string = $gen_string";
$sihay = mysql_query ($strQuery);
$verifica = mysql_num_rows($sihay);

if ($verifica = 0) {
bla bla bla XDD
}

lo que quiero hacer es que mientras $verifica sea diferente de 0 ( !=0 ) se ejecute $gen_string = generar_cadena(8); para generar otro numero aleatorio y denuevo verificar si existe en la BD, de no existir, continua grabando los datos en la BD y si existe de nuevo generar otro gen_string.

gracias
  #2 (permalink)  
Antiguo 21/08/2009, 11:40
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: ayuda con while, do... while !!!!!

$gen_string = generar_cadena(8);

$strQuery ="SELECT string FROM insertar WHERE string = $gen_string";
$sihay = mysql_query ($strQuery);
$verifica = mysql_num_rows($sihay);

puedes cambiar esto:
if ($verifica = 0) {
bla bla bla XDD
}

por:
while ($verifica = 0) {
bla bla bla XDD
}

suerte
  #3 (permalink)  
Antiguo 21/08/2009, 11:45
 
Fecha de Ingreso: junio-2009
Mensajes: 51
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ayuda con while, do... while !!!!!

gracias lair, entonces digamos si quiero generar otro string seria

while ($verifica !=0 ) {
$gen_string = generar_cadena(8);
}

¿estoy en lo correcto? .. osea mietras $verifica sea diferente de 0( esto indicaria que SI existe otro registro en la DB con el mismo string) se ejecuta $gen_string = generar_cadena(8);

pero despues de $gen_string = generar_cadena(8); como searia para correr denuevo la consulta SQL para ver si con el nuevo string no existe otro registro ??
  #4 (permalink)  
Antiguo 21/08/2009, 14:09
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: while, do... while !!!!!

asi es, si extrae un registro quiere decir que ya existe algo como eso, con lo que tendria que generar otra serie de las que estas generando. Y para eso unicamente tendria que cambiar de lugar el while o cambiar lo por un do while()

Código PHP:
do{
    
$gen_string generar_cadena(8);

    
$strQuery ="SELECT string FROM insertar WHERE string = $gen_string";
    
$sihay mysql_query ($strQuery);
    
$verifica mysql_num_rows($sihay);

}while (
$verifica != 0); 
suerte
  #5 (permalink)  
Antiguo 22/08/2009, 09:42
 
Fecha de Ingreso: junio-2009
Mensajes: 51
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: while, do... while !!!!!

excelente lair muchas gracias
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 22:11.