Foros del Web » Programando para Internet » PHP »

3 dudas con buscador interno en php

Estas en el tema de 3 dudas con buscador interno en php en el foro de PHP en Foros del Web. Hola a todos los usuarios del foro!!, tengo algunas dudas con mi buscador interno en php y mysql, tengo un sitio web de animales, y ...
  #1 (permalink)  
Antiguo 18/04/2011, 12:41
 
Fecha de Ingreso: junio-2010
Mensajes: 49
Antigüedad: 14 años, 5 meses
Puntos: 3
Exclamación 3 dudas con buscador interno en php

Hola a todos los usuarios del foro!!, tengo algunas dudas con mi buscador interno en php y mysql, tengo un sitio web de animales, y añade el buscador interno para que sea más fácil buscar alguna especie determinada. Hay veces que al buscar una determinada especie me aparecen otros resultados que deberían ir después, al buscar por ejemplo: Tortuga, me aparecen especies depredadoras de la tortuga, y a lo último las especies de tortuga, o en otras búsquedas aparece primero 1 especie, después depredador, y al final otra especie de lo que busqué.

Me dijeron que para esto debo ordenar los resultados por coincidencias, ¿cómo logro hacer esto, hay algún tutorial?

Mi segunda duda es con respecto a la caja de búsqueda, al clickearla aparece todo un recuadro color naranja, pero no combina con nada de mi sitio, que usa colores verdes ¿alguien sabe cómo cambiarle de color?. Dejo una imagen del recuadro para que puedan verlo mejor:



(esta imagen no salió con mucha calidad pero es muchisimo más naranja jiji)

Mi tercera duda es sobre la paginación de resultados, al ser muchas especies, al buscar algún animal pueden llegar a aparecer más de 60 resultados y se forma una lista demasiada extensa, quisiera que aparecieran solo 10, 15 o lo que se pueda, vi que hay muchos tutoriales pero no puedo encontrar una forma de ingresarlo a mi código, ¿ alguien me podría explicar como hacerlo?

¡¡Muchísimas gracias!! ¡Saludos!

Les dejo el código de mi buscador, lo hice con un tutorial de este foro:

Código:
 <div align="center"><form name="buscar" action="<?php $_SERVER['PHP_SELF'] ?>" method="get">  <input type="text" size="40" value="<?php echo $_GET['frase']; ?>" name="frase" /> <input type="submit" name="buscar" value="Buscar" /></form></div>
  <div><?php 
// conectar al servidor 
$server_link = mysql_connect("host", "usuario", "contraseña"); 
if(!$server_link){ 
    die("Fall&oacute; la Conexi&oacute;n ". mysql_error()); 
} 
// seleccionamos la base de datos 
$db_selected = mysql_select_db("mibasededatos", $server_link); 
if(!$db_selected){ 
    die("No se pudo seleccionar la Base de Datos ". mysql_error()); 
} 
// varificamos que el formulario halla sido enviado 
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){ 
    $frase = htmlspecialchars($_GET['frase']); 
    // hacemos la consulta de busqueda
    $sqlBuscar = mysql_query("SELECT especieTitulo, especieDescripcion, urlespecie, 
                              MATCH (especieTitulo, especieDescripcion, urlespecie, especiekeywords) 
                              AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias 
                              FROM webs 
                              WHERE MATCH (especieTitulo, especieDescripcion, especiekeywords)
                              AGAINST ('$frase' IN BOOLEAN MODE) 
                              ORDER BY coincidencias DESC", $server_link) 
                              or die(mysql_error());                               
    $totalRows = mysql_num_rows($sqlBuscar); 
     // Enviamos un mensaje 
    // indicando la cantidad de resultados ($totalRows) 
    // para la frase buscada ($frase) 
    if(!empty($totalRows)){ 
        echo stripslashes("<p>Se encontraron <strong>$totalRows</strong> especies de <strong>$frase</strong></p>");         
        // mostramos los resultados 
        while($row = mysql_fetch_array($sqlBuscar)){ 
            echo "<strong><a href=$row[urlespecie]>$row[especieTitulo]</a></strong>"; 
            echo "<p>".substr(strip_tags($row['especieDescripcion']), 0, 255)."...</p>"; 
        }   
    } 
    // si se ha enviado vacio el formulario 

    // error especies 
    elseif(empty($_GET['frase'])){ 
        echo "Debe introducir una especie para su búsqueda"; 
    } 
    // si no hay resultados 
    // no se encontraron especies 
    elseif($totalRows == 0){ 
        echo stripslashes("No se encontraron especies de <strong>$frase</strong>"); 
    } 
} 
?>

Etiquetas: animales, especies, interno, paginacion, resultados, buscadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:50.