Respuesta: Ayuda con bucle le hice unos cambios para reducir la posibilidad de que se demore pero todavia le falta
Código PHP:
Ver originalclass EjemplarNombre { // Atributos // private $nombre; //Nombre generado private $palabras; //Cantidad de palabras a generar //private $cantidad; // Cantidad de letras del nombre generado (no se necesita) //////////////// Metodos //////////////// // Constructor // function __construct($palabras=1,$texto='') { $this->palabras = $palabras; $this->nombre = $texto; } // Obtiene un nombre aleatorio combinando las silabas // private function getNombre() { $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"); $var = ($this->palabras > 3 ) ? 2 : 4; //para mas de 3 palabras se busca entr2 2 y 3 for($j = 1; $j <= $this->palabras; $j ++) { $vueltas = rand (2,$var); for($i = 1; $i <= $vueltas; $i ++) { $this->nombre .= $silabas[rand (0, 100)]; } if ($this->palabras > 1) // Mas de 1 palabra agrego espacio // $this->nombre .= " "; } $this->nombre; } // Muestra el nombre Final filtrado y revisado en base de datos hasta 20 caracteres// public function MostrarNombre() { $i = true; while($i){ $this->getNombre(); $rs = mysql_query ('SELECT nombre from publeje where nombre ="'.$this->nombre.'"'); $i = false; } return $this->nombre; } // Cantidad de Letras Mostradas // public function CantidadLetras(){ } }
saludos.
__________________ El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa la tristeza no existe, solo es... la ausencia de la felicidad.
Última edición por eits; 10/10/2010 a las 22:38 |