Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2013, 03:51
Avatar de paxarin
paxarin
 
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 9 meses
Puntos: 6
Por que mi buscador no encuentra textos inferiores a 3 letras?

Muy buenas.
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:
<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>
php busqueda.
Código:
<?php
$conexion=mysql_connect("localhost", "xxxxxxxxx", "xxxxxxxxxx") or die('Error de conexi&oacute;n a la Base de Datos!!!');
//conexión con la base de datos
mysql_select_db("otraform_general2",$conexion) or die('Error de selecci&oacute;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:
<?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)
}
?>
Alguien puede ayudarme con esto por favor?
Muchas gracias
__________________
http://www.paxarindesign.es