Buscar en Mysql mas de dos palabras ingresadas en campo de busqueda
Publicado por Alejandro (2 intervenciones) el 16/09/2019 00:09:06
Hola a todos, soy nuevo en este tema del desarrollo y he estado intentando hacer una búsqueda en tiempo real, de una tabla en mysql. el problema que tengo es que: el USUARIO quiere buscar mas de dos palabras en esta base de datos en distintas columnas y a medida que vaya ingresando mas palabras acertadas, mas exacta sera la búsqueda.cuando el usuario busca solo una palabra, encuentra todos los resultados con ese filtro, pero si digita dos o mas palabras no encuentra nada. he intentado hacerlo por FULLTEXT pero debo especificar en la sentencia, la palabra que el USUARIO debería busca. Relaciono parte del codigo con FULLTEXT y con LIKE.
quiero que cuando por ejemplo el USUARIO escriba en la barra de busqueda, Alejandro Martinez. encuentre todos los Alejandro Martinez. entre mas palabras acertadas escriba la busqueda sea mas exacta
Agradezco su ayuda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<pre><code>
//FULLTEXT
$query="SELECT * FROM clientesc2019 ORDER BY Nombres";
/*LO QUE OCURRE AL TECLEAR SOBRE EL INPUT DE BUSQUEDA */
if(isset($_POST['clientes1']))
{
$q=$conexion->real_escape_string($_POST['clientes1']);
$query="SELECT * FROM clientesc2019 WHERE
MATCH (Nombres,Apellidos) AGAINST 'Alejandro'";
}
<pre><code>
<pre><code>
/*LIKE*/
$query="SELECT * FROM clientesc2019 ORDER BY Nombres";
/* LO QUE OCURRE AL TECLEAR SOBRE EL INPUT DE BUSQUEDA */
if(isset($_POST['clientes1']))
{
$q=$conexion->real_escape_string($_POST['clientes1']);
$query="SELECT * FROM clientesc2019 WHERE
id LIKE '%".$q."%' OR
Nombres LIKE '%".$q."%' OR
Apellidos LIKE '%".$q."%'";
}
<pre><code>
quiero que cuando por ejemplo el USUARIO escriba en la barra de busqueda, Alejandro Martinez. encuentre todos los Alejandro Martinez. entre mas palabras acertadas escriba la busqueda sea mas exacta
Agradezco su ayuda
Valora esta pregunta
0