Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/01/2007, 06:53
Avatar de ortiz
ortiz
 
Fecha de Ingreso: septiembre-2004
Mensajes: 154
Antigüedad: 19 años, 7 meses
Puntos: 0
Buscador - PHP - MYSQL: duda

Hola

estoy utilizando un senzillo tutorial para crear un buscador no muy complicado, que consulte datos contra una tabla. En concreto sólo me interesa buscar un campo de esa tabla.

El código utilizado es éste: http://www.programacion.net/php/articulo/adr_buscador/

La cuestión no es que si el código funciona o no. Es algo más curioso.

El tema es que si yo hago una consulta en el phpmyadmin en la pestaña de editar SQL, del tipo:
SELECT * FROM juego WHERE nombre LIKE '%Juego%'

no tengo problemas. Pero si realizo la consulta desde mi código en php no me muestra resultados.

He comprobado que la variable que lo recoja, $busqueda sea correcta y sí, recoge el valor sin problemas. Pero el resultado de la búsqueda es diferente.

Por ejemplo, busco la palabra Silent. En teoría deberían aparecerme 2 registros, pero en el buscador.php sólo devuelve un resultado. No entiendo NADA

Dejo el código por si alguien busca algo de este tema y por si alguien me quiere ayudar....

Saludos y gracias.

Código PHP:
<?
if($busqueda <> ""){

$trozos explode(" ",$busqueda);
$numero count($trozos);

 if (
$numero == 1) {
        
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
        //$sql = mysql_query("SELECT * FROM juego WHERE nombre LIKE '%$busqueda%'",$cbd);
        
$sentencia "SELECT * FROM juego WHERE nombre LIKE '%$busqueda%'";
        
$sql mysql_query($sentencia,$cbd);
        
        if (
$row mysql_fetch_array($sql)){
            while (
$row mysql_fetch_array($sql)){
            
$juego $row['nombre'];
            
$juego urlencode($juego);
?>
        <li>
        <div class="noticia_titulo"><a href="http://www.warphammer.net/infojuego.php?de=<?=$juego;?>" title="Juegos estrategia - <?=$row['nombre'];?>"><?=$row['nombre'];?></a></div>
        <p><?=$row['descripcion'];?></p>
        <br />
        </li>
<?
            
}
        
mysql_free_result($result);
        
mysql_close($cbd);    
        } else {
            echo 
"<p>¡No se ha encontrado ningún registro!</p>\n";
        }
    }else{
        
$sql mysql_query("SELECT * FROM juego WHERE MATCH(nombre) AGAINST ('$busqueda')",$cbd);
        if (
$row mysql_fetch_array($sql)){
            while (
$row mysql_fetch_array($sql)){
            
$juego $row['nombre'];
            
$juego urlencode($juego);
?>
        <li>
        <div class="noticia_titulo"><a href="http://www.warphammer.net/infojuego.php?de=<?=$juego;?>" title="Juegos estrategia - <?=$row['nombre'];?>"><?=$row['nombre'];?></a></div>
        <p><?=$row['descripcion'];?></p>
        <br />
        </li>
<?
            
}
        
mysql_free_result($result);
        
mysql_close($cbd);    
        } else {
            echo 
"<p>¡No se ha encontrado ningún registro!</p>\n";
        }    
    }
}else{
        echo 
"<p>Introduce al menos una palabra para realizar una búsqueda.</p>\n";

?>
__________________
Juegos de Estrategia para PC - Warphammer.net :: Estrategia sólo en castellano