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úsqueda arrojó 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