Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/11/2012, 03:32
Avatar de paxarin
paxarin
 
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Buscador interno en PHP que no funciona con IE

Este el php del buscador interno de la web.
Existen dos partes.
La primera que esta dentro de un include en la página de resultados.
Código:
<div id="mostrar">
			<?php
                if(!empty($totalRows)){
                    echo stripslashes("<p class='white'>Su b&uacute;squeda arroj&oacute; los <strong>$totalRows</strong>  siguientes resultados para <strong>$frase</strong></p>");
                    // mostramos los resultados
                    while($row = mysql_fetch_array($sqlBuscar)){
                        echo "<p><strong><a href='#' class='link'>$row[titulo]</a></strong></p><br />";
                        echo "<a href='".substr(strip_tags($row['url']), 0, 255)."' class='white2' >Visitar la pagina</a>";
                        //echo "<a href=''>".substr(strip_tags($row['url']), 0, 255)."...</a>";
                        echo "<p class='gris'>Descripción de la información: ".substr(strip_tags($row['descripcion']), 0, 255)."...</p>";
                    }
                }
                // si se ha enviado vacio el formulario
                // mostramos un mensaje del tipo Oops...!
                elseif(empty($_GET['frase'])){
                    echo "<p class='white'><span>¡¡ATENCIÓN!!</span> Debe introducir una palabra o frase.</p>";
                }
                // si no hay resultados //
                //otro mensaje del tipo Oops...!
                elseif($totalRows == 0){
                    echo stripslashes("<p class='white'><span>¡¡ATENCIÓN!!</span> Su busqueda no arrojo resultados para <strong>$frase</strong></p>");
                }
            ?>
			</div>
Y la otra parte que es la que haria el trabajo con la bbdd
Código:
<?php
include("conexion.php");
//if para que cuando se cargue la pagina no aparezca el error de no existe busqueda
if (empty($_GET['frase'])){
$texto_busqueda = "";
}else{
$texto_busqueda = $_GET['frase'];}
// varificamos que el formulario halla sido enviado
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){
    $frase = addslashes($_GET['frase']);
    // hacemos la consulta de busqueda
    // ver explicación mas abajo
    $sqlBuscar = mysql_query("SELECT titulo, url, descripcion,
                            MATCH (titulo, url, descripcion)
                            AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
                            FROM buscador WHERE MATCH (titulo, url, descripcion)
                            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 busada ($frase)
}
?>
Espero que sirva para que me podais ayudar.
Un saludo
__________________
http://www.paxarindesign.es