Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/12/2008, 07:58
darkroll
 
Fecha de Ingreso: diciembre-2008
Mensajes: 8
Antigüedad: 15 años, 4 meses
Puntos: 0
Ordenando arays

Hola, les comento que no tengo ni idea de como hacer esto.

Tengo en una BD los siguientes campos: palabra, definicion, soundex, donde soundex es el cod soundex de palabra.

Cuando alguien manda a buscar una palabra que no está en la BD les muestro las que tengan el mismo soundex que la que busca.

El problema es que quiero mostrarle el listado ordenado por las que más se parezcan. Esto es lo que hago:

$instruccion = "select palabra,significado,soundex from rae WHERE `soundex` = '".soundex($palabra)."'";
$consulta = mysql_query ($instruccion, $conexion) or die ("Fallo en la consulta");

$nfilas = mysql_num_rows ($consulta);
if($nfilas > 20){
$nfilas = 20;
}
//****
for ($i=0; $i<$nfilas; $i++){
$resultado = mysql_fetch_array ($consulta);
echo ("<b>".$resultado['palabra']."</b><br />");
echo ($resultado['significado']."<br />");
}

Si donde esta //**** hago un asort me produce un resultado inesperado

también se me ocurrió antes de mostrar el resultado hacer esto:
for ($i=0; $i<$nfilas; $i++){
$resultado = mysql_fetch_array ($consulta);
$resultado['parecido'] = similar_text($palabra,$resultado['palabra']);
}
mi idea es agregar otro elemento al array que contenga la semejanza, pero igual me funciona mal.

¿Alguna idea de como hago esto?

Última edición por darkroll; 17/12/2008 a las 08:07 Razón: me falto la subscripcion