Hola a todos , tengo el siguiente problema. resulta que tengo que hacer lo siguiente, cree un array para hacer que tire nombres al azar, el tema es que lo que tendria que hacer es que el resultado de ese nombre lo compare con una base de datos y si no esta que vuelva a generar otro nombre asi hasta que no este en la base de datos, lo que yo hice fue lo siguiente.
Código PHP:
$silabas = array("a","e","i","o","u","wa","we","wi","wo","wu","sa","se","si","so","su","za","ze","ax","ex","ca","ce","ci","co","cu","da","de","di","do","du","fa","fe","fi","fo","fu","ra","re","ri","ro","ru","va","ve","vi","vo","vu","ba","be","bi","bo","bu","na","ne","ni","no","nu","ma","me","mi","mo","mu","ha","he","hi","ho","hu","yo","ja","je","ji","jo","ju","la","le","li","lo","lu","pa","pe","pi","po","pu","al","el","tha","l","l","l","l","r","r","r","s","s","s","a","e","i","o","a","e","i","o");
$nombre="";
for ($i=0;$i<=rand(2,4);$i++) {
$nombre=$nombre.$silabas[rand(0,124)];
}
//$nombre=strtoupper($nombre);
$nombre = ucfirst($nombre);
$sql = "SELECT nombre from publeje where nombre ='$nombre'";
$rs = mysql_query($sql);
if (mysql_num_rows($rs))
{
for ($i=0;$i<=rand(2,4);$i++) {
$nombre=$nombre.$silabas[rand(0,124)];
}
$nombre=ucfirst($nombre);
}else{
$nombre=$nombre;
}
echo $nombre;
pero esta mal porque verifica una ves y si llegara a estar 2 veces no vuelve hacer el bucle for, como se puede hacer que haga un bucle hasta que el nombre no este en la base de datos?.
Saludos y muchas gracas