Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/03/2003, 14:20
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Manoloweb ...

Con dar el link completo a esa parte del manaul de Mysql .. tal vez leamos algo mas de teríra sobre ese ejemplo .. O mejor aun explicalo y aplicalo en un caso comun con PHP ..

Zertiko

Aquí te dejo un ejemplo .. el código está comentado .. si tienes dudas preguntalas.

Código PHP:
<?
// cadena con palabras ...
$buscar="hola cosa blabla";

// obtener el array de un string .. Usamos el espacio como separador o identenficador de palabras.
$array_palabras=explode(" ",$buscar);
//contar el total de "palabras" q tiene el string (el total de elementos del array)
$total_palabras=count($array_palabras)-1;

// se recorre el array generado por el explode ..
for ($indice=0$indice<=$total_palabras$indice++){
  
$secuencia_buscar="campo LIKE '%".$array_palabras[$indice]."%'";
  
// se mira si es la ultima palabra a poner . en tal caso no se pone el AND ..
  
if ($indice $total_palabras){
      
$condicion=" AND ";
  } else {
      
$condicion="";
  }
  
// se concatena (he de ahí el .= la secuencia anterior con el comando de la condicion ..
  
$secuencia_total .= $secuencia_buscar.$condicion;
}
// se concatena la secuencias de campo LIKE '%palabra%' AND .. con el SQL
// si hace falta mas parámetros o condiciones .. añadir al final ...
$sql "SELECT * FROM tabla WHERE ".$secuencia_total." ORDER BY campo";

echo 
$sql;
?>
Seguro que es mas rápido y mas optimo hacer consultas de este tipo en campos FULLTEXT .. pero ahí no me manejo a ese nivel con SQL .. si eso pregunta en el foro "Base de datos" o esperas a nuestro amigo manoloweb xDD

Un saludo,