Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/09/2009, 09:18
davchess
 
Fecha de Ingreso: enero-2009
Mensajes: 212
Antigüedad: 15 años, 4 meses
Puntos: 4
¿Mejorar esta busqueda?

Buenas, tengo un cliente que me ha pedido una cosa muy complicada, es tan tonto como :

"Necesito TODAS las palabras que existan en la RAE de mas de 2 caracteres y menos de 8 ( es decir de 3 a 7 ) en una base de datos mysql".

No quiere descripcion ni nada, simplemente las palabras, para tener un diccionario propio para una aplicacion que le estamos montando, y aqui viene mi "gracia" que se como hacerlo pero lo veo una burrada como hacerlo.

Ahora mismo hago esto :

Código PHP:

for ($i 1$i <= 28$i++) {
    for (
$j 1$j <= 28$j++) {
        for (
$x 1$x <= 28$x++) {
            for (
$y 1$y <= 28$y++) {
            
                
$letra saberletra($i).saberletra($j).saberletra($x).saberletra($y);
                echo 
$xx." ".$letra."<br>";
                
$xx++;
                
                if (
strlen($letra) > )
                {
                    
$sql "select id from temporal where palabra = '".$letra."'"
                    
$partidas mysql_query($sql);
                    if (
mysql_num_rows($partidas) == 0)
                    {
                        if (
diccionario ($letra) == 1)
                        {
                            echo 
$letra."<br>";
                            
$sql "insert into palabra (palabra, caracteres) values ('".$letra."',".strlen($letra).")";
                            
mysql_query($sql);
                        }
                        
                            
// guardo la palabra en temporal, para que no se vuelva a buscar.
                            
$sql "insert into temporal (palabra) values ('".$letra."')";
                            
mysql_query($sql);
                        
                    }
                }
            
            }
        }
    }
    

Saberletra -> Nos dice que letra del abecedario es.


Aqui es solo para maximo 4 caracteres y la funcion diccionario me devuelve si existe o no en rae.es , el tema es que si es para 4 letras unicamente y lleva ... ni se cuanto tiempo y todavia no termino, no me quiero ni imaginar cuando le pongamos que sea para 7 , el numero de letras subira digamos que bastantes.

¿Se os ocurre algo para mejorar este codigo? O simplemente dejamos esto y nos vamos por otro lado, ya que de inicio nos parecio muy sencillo hacerlo asi pero despues hemos visto que no parece muy viable.

Algo me dice que esto que hago es una burrada pero no se me ocurre nada ....

Ah y necesitamos las palabras, el cliente pondra por ejemplo "as" y le tengo que mostrar TODAS las que tengan "as"

Espero haberme explicado, un saludo y gracias.
__________________
Juega al ajedrez online :http://www.davchess.com
Tecnicas de Ajedrez:http://www.7chess.com

Última edición por davchess; 14/09/2009 a las 09:41 Razón: Titulo incorrecto