Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta mysql

Estas en el tema de Consulta mysql en el foro de Mysql en Foros del Web. Requiero saber cual es la mejor forma de mostrar datos segun coincidencias de datos enviados mediante un form via POST. Es decir hacer una consulta ...
  #1 (permalink)  
Antiguo 22/11/2008, 21:52
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Mensajes: 83
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Consulta mysql

Requiero saber cual es la mejor forma de mostrar datos segun coincidencias de datos enviados mediante un form via POST.
Es decir hacer una consulta general, avanzada.
Ej: Si escribo t, que me aparezcan todos los srticulos que tengan en su titulo una letra t,o si escribo pa, que me aparezcan todos los articulos que contengan pa

Seria asi??
$id = $_POST['id'];

SELECT *, MATCH ($id) AS $id FROM articles WHERE MATCH ($id) ORDER BY $id DESC"

Ayuda porfa
  #2 (permalink)  
Antiguo 23/11/2008, 03:19
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta mysql

Para eso no te servirá la consulta con índice FULL TEXT que estás proponiendo, pues esas consultas no funcionan con 3 caracteres o menos,y además tendrías que haber creado el índice full text antes.

En cuanto a tu pregunta, existen al menos dos respuestas:

1) búsqueda con LIKE y operadores % _ ?, etc. sobre campo indexado que será rápida, pero depende de lo que busques claro.
SELECT titulo FROM tutabla WHERE titulo LIKE '%a%'

2) búsqueda con expresiones regulares, regexp, algo más lentas porque no utilizan los índices, pero con mucha versatilidad
SELECT titulo FROM tutabla WHERE titulo REGEXP 'a'
  #3 (permalink)  
Antiguo 23/11/2008, 14:34
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Mensajes: 83
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Consulta mysql

Gracias Jurena,
Me gusta la segunda opción pero te pregunto algo, REGEXP 'a' donde 'a' puede ser el POST enviado desde el formulario??, si fuese asi, que tendría que aparaceer??

Es decir si el POST se llama id entre las comillas simples ('') deberia poner 'id'??
  #4 (permalink)  
Antiguo 23/11/2008, 14:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta mysql

si el dato es enviado por el método POST, previamente tendrás que recogerlo en una variable, e imagino que el contenido de esa variable será una cadena de texto. Pues bien, también tras regexp puede aparecer una variable. Pero tendrás que usar los signos adecuados para cada programa.
No es este el lugar indicado. Pregunta en el foro de tu programa (PHP, ASP, VisualBasic, etc.). Funcionar, te digo que funciona; lamento no poder decirte más aquí, pero en este foro no podemos responder con sintaxis de programación. Allí te darán la solución.

Última edición por jurena; 24/11/2008 a las 01:42
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:30.