Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/09/2003, 08:00
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Es que estas buscando por lo que google llama 'frase exacta'. Es decir, si pones en tu buscador 'soy listo', dara como resultados donde el valor del campo contenga la cadena 'soy listo' literalmente. Es porque haces la comparacion con '%soy listo%'. Si quieres que se muestren los registros que tengan solo 'soy' o solo 'listo' o las dos en cualquier orden, deberias separar la cadena $que por los espacios con explode() (www.php.net/explode) y para cada una de las palabras tener esa clausula WHERE, unidas todas por OR. Un codigo podria ser:
Código PHP:
$palabras=explode(' ',$que);
$condicion='';
foreach (
$palabras as $palabra) {
  if (
$condicion1=''$condicion.=' OR ';
  
$condicion.="(nombre_grupo LIKE '%$palabra%' OR pais LIKE '%$palabra%' OR ciudad LIKE '%$palabra%' OR subcategoria LIKE '%$palabra%' OR provincia LIKE '%$palabra%' OR biografia LIKE '%$palabra%')";
}
$sql="SELECT * FROM grupos WHERE $condicion"
Si quieres que tengan las dos palabras, en cualquier oreden, une con AND en lugar de con OR.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.