Tengo un buscador interno en la web que aunque funciona correctamente me a dado una sorpresa muy extraña.
No hace busquedas de textos inferiores a 4 letras. Si quiero que busquen tos o té no muestra resultados y la verdad que no lo comprendo ya que no existe ninguna linea que indique que exista un numero minimo de caracteres.
Os dejo el codigo para ver si alguien puede echarme un cable con esto.
Formulario de la busqueda
Código:
php busqueda.<form action="insertar-busqueda.php" method="post" id="buscar"> <p>Titulo</p> <input type="text" name="titulo"/> <p>Url</p> <input type="text" name="url"/> <p>Descripción</p> <textarea name="descripcion"></textarea> <input type="submit" value="enviar" /> </form>
Código:
<?php $conexion=mysql_connect("localhost", "xxxxxxxxx", "xxxxxxxxxx") or die('Error de conexión a la Base de Datos!!!'); //conexión con la base de datos mysql_select_db("otraform_general2",$conexion) or die('Error de selección de Base de Datos!!!'); // Con esta sentencia SQL insertaremos los datos en la base de datos mysql_query("INSERT INTO buscador (titulo,url,descripcion) VALUES ('{$_POST['titulo']}','{$_POST['url']}','{$_POST['descripcion']}')",$conexion); if (mysql_errno($conexion)) { echo "No se pudo insertar los datos en la tabla. Error" .mysql_errno() ." - ".mysql_error(); mysql_close($conexion); } else{ $conexion; header("location:ver-busqueda.php"); } ?>
Código:
Alguien puede ayudarme con esto por favor?<?php $server_link = mysql_connect("localhost", "xxxxxxxx", "xxxxxxxxxx"); 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) } ?>
Muchas gracias