Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/04/2013, 11:49
PitBull
 
Fecha de Ingreso: octubre-2005
Mensajes: 17
Antigüedad: 21 años
Puntos: 0
Respuesta: consulta de mas de una palabra con LIKE

perdona, pero sería algo asi?
en la tabla de busquedas, tengo solo un campo con las palabras a buscar por lo tanto entiendo que quedaría asi.

Código PHP:
function Buscar($buscar) // resultados dentro del buscar
    
{
        
$busqueda = str_replace("-"," ", $buscar);
        
$trozos=explode(" ",$busqueda); 
        
$numero=count($trozos); 
        if (
$numero==1)
            {
        
$consulta = "SELECT * FROM busquedas where busqueda LIKE '%{$buscar}%' and validado = 1 order by rand() limit 0,11";
            }  
        elseif(
$numero>1)
            {
        
$consulta = "SELECT * , MATCH (busqueda) AGAINST ('" . $buscar . "') AS puntuacion FROM busquedas WHERE validado = 1 and MATCH (busqueda) AGAINST ('$buscar') ORDER BY puntuacion DESC"; 
            } 
        
$sql= mysql_query($consulta);
        while(
$row = mysql_fetch_array($sql)) 
y en la DB he puesto ahora el FULLTEXT
Código PHP:
CREATE TABLE IF NOT EXISTS `busquedas` (
  `
id` int(11) NOT NULL auto_increment,
  `
busqueda` varchar(255) NOT NULL,
  `
validado` int(11) NOT NULL,
  `
num` int(11) NOT NULL,
  
PRIMARY KEY  (`id`),
  
FULLTEXT KEY `busqueda` (`busqueda`)
) 
ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=51024 ; 

Última edición por PitBull; 22/04/2013 a las 11:54