Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/04/2009, 10:57
mayver
 
Fecha de Ingreso: abril-2009
Mensajes: 5
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Error en Buscador PHP + MySQL (Match Against)

Ok...ya lo revise y sí le faltaba una }.

Sin embargo, ahora no me regresa nada.

Además corregí el problema de que jalaba la tabla noticias, en lugar de views.

Código PHP:
<?
if ($_POST['finder']) {
    
//Tomamos el valor ingresado
    
$search $_POST['word'];
    
    
// Si está vacío, lo informamos, sino realizamos la busqueda
    
if (empty($search)) {
              echo 
"Please, enter a string to search";
    }else {
        
//Contamos el número de palabras introducidas
        
if ($search<>'') {
            
$token explode(" ",$search);
            
$coincidences count($token);
            if (
$coincidences == 1) {
                
// Si sólo hay una palabra para busccar, se escoge un SQL con LIKE
                
$sql_easy "SELECT * FROM views WHERE noticia LIKE '%search%' OR noticia LIKE '%search%' LIMIT 50";
                
                
//Conexión a la base de datos y selección de registros
                
$connection mysql_connect("localhost","root","admin");
                
mysql_select_db("Phytochemicals"$connection);            
                
                
$result mysql_query($sql_easy$connection);
                
                
// Tomamos el total de los resultados
                
$total mysql_num_rows($result);
                
                
// Imprimimos el total de los resultados
                
if ($row mysql_fetch_array($result)) {
                    echo 
"Results to: <b>$search</b>";
                    
                    do {
                        
?>
                        <p><b><a href="noticia.php?id=<?=$row['id'];?>"><?=$row['titulo'];?></a></b></p>
                        <?
                    
} while($row mysql_fetch_array($result)); 
                    echo 
"<p>Results: $total</p>";
                } else {
                    
// En caso de no encontrar resultado
                    
echo "Not found results to: <b>$search</b>";
                }
            } else if(
$coincidences 1) {
                
// Si hay más de una palabra (frase) se usa el algoritmo MATCH AGAINST
                
$sql_hard "SELECT*titulo, MATCH (`titulo`,`cuerpo`) AGAINST ('$search') AS score FROM views WHERE* MATCH (`titulo`,`cuerpo`) AGAINST ('$search') ORDER* BY score DESC LIMIT 50";
                
                
//Conexión a la base de datos y selección de registros
                
$connection mysql_connect("localhost","root","admin");
                
mysql_select_db("Phytochemicals"$connection);            
                
                
$result mysql_query($sql_easy$connection);
                
                
// Tomamos el total de los resultados
                
$total mysql_num_rows($result);
                
                
// Imprimimos el total de los resultados
                
if ($row mysql_fetch_array($result)) {
                    echo 
"Results to: <b>$search</b>";
                    
                    do {
                        
?>
                        <p><b><a href="noticia.php?id=<?=$row['id'];?>"><?=$row['titulo'];?></a></b></p>
                        <?
                    
} while($row mysql_fetch_array($result)); 
                    echo 
"<p>Results: $total</p>";
                } else {
                    
// En caso de no encontrar resultado
                    
echo "Not found results to: <b>$search</b>";
                }
            }    
        }
    }
}
?>
Ojalá y me ayuden.