Falla el resultado de una busqqueda

En la BD aparece la tabla strTitulo con el nombre por ejemplo: mesa silla, cuando escribo en una búsqueda por ejemplo silla, el resultado de la búsqueda no reconoce, siempre reconoce con el titulo completo mesa silla o silla mesa, y tampoco reconoce si en la tabla strTitulo pone todo en minúscula, y en la búsqueda la primera letra es mayúscula y el resto minúscula Mesa silla tampoco reconoce, ¿dónde está el fallo?.

1 respuesta

Respuesta
-1

¿Qué manejador de bases de datos usas? ¿Qué lenguaje de programación usas?

Hola, la primera pregunta no sé que quieres decir con manejador uso, la segunda es SQL, dime tu un ejemplo de manejador, solo puedo decirte PHP, MySQL, SQL, phpmyadmin, saludos.

El manejador de tu base de datos es MySQL, según lo que dices, es el motor que almacena e interactúa con los datos que posees y el lenguaje es PHP, que es un lenguaje interpretado del lado del servidor que te arroja respuestas en formato HTML.

Aclarado ese punto, debes usar la sentencia LIKE, que te compara fragmentos de palabras dentro de una cadena en un campo, es decir, busca similitudes dentro de los campos que correspondan al criterio que le indiques.

Ejem:

"SELECT * FROM tabla WHERE campo LIKE '%texto%'"

Con esto busca dentro del campo todas las coincidencias con texto y las muestra, lo que indica la posición del texto dentro del campo son los "%", si no le colocas el del principio ('texto%') le indicas que texto está al principio, si no le colocas el del final ('%texto') le indicas que texto está al final de la palabra y así sucesivamente.

Hola amigo, recuerdas que me ayudaste a cambiar de INT a VARCHAR con el query pasando de "texto" a '"texto"', pues se ha solucionado muy bien, mi duda es que tu me indicas "%texto%" o pongo '"%texto%"'?, en mi query aparece con dos puntos: '".texto."' que significa esos puntitos?, saludos.

El punto es para concatenar, los signos de porcentaje van luego de la comilla simple antes de la comilla doble, te explico el por qué:

Suponte que tienes la consulta

"SELECT campos FROM tabla WHERE campo LIKE '%".texto."%'";

Indica que la primera comilla indica a la variable que es un cadena de texto, para colocar otra variable dentro de esta y que vuelque el contenido en la cadena, hay que cerrar la cadena previamente y concatenar la variable.

Es un poco confuso pero la comilla simple indica el inicio del valor para la comparación, luego el símbolo de porcentaje que indica el inicio del parámetro para la sentencia LIKE, luego la comilla doble que indica que se cierra la cadena, luego un punto que indica que concatena el contenido de esa variable, luego la variable que deseas agregar a la cadena, y cierra todo lo que quedó abierto, es decir, punto, comillas dobles, símbolo porcentaje, comillas simples, comillas dobles para cerrar la cadena definitivamente y punto y coma.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas