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

Problema mostrar resultados con una select a bbdd

Estas en el tema de Problema mostrar resultados con una select a bbdd en el foro de Mysql en Foros del Web. Hola a todos veran ando creando un buscador, y para ello tengo esta sentencia en msql que haciendo consulta a la base de datos me ...
  #1 (permalink)  
Antiguo 16/09/2012, 04:57
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Problema mostrar resultados con una select a bbdd

Hola a todos veran ando creando un buscador, y para ello tengo esta sentencia en msql que haciendo consulta a la base de datos me muestra los resultados perfectamete:

Código PHP:

Código PHP:
Ver original
  1. $result = mysql_query("select * from alimentos where nombre  
  2.    
  3.                            like '%$textoAbuscar%' and (tipo = $sqlCheck) order by '$radioSelect'");

El problema viene cuando quiero que a parte de que me muestre los resultados por "nombre" los haga tambien a la vez por "precio", es decir que me muestre todos los resultados tanto por nombre" como por "precio"


pero no se como modificicar la linea de programacion que les he puesto para conseguir eso .


Si pudieran ayudarme les estaria agradecido. Gracias de antemano.
  #2 (permalink)  
Antiguo 16/09/2012, 09:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Problema mostrar resultados con una select a bbdd

mensajeescrito,
parece que cuando dices me muestre quieres decir que ordene unas veces por nombre y otras por precio.
Si es eso, tendrás que añadir el order by según el radioselect sea nombre o precio
select * from alimentos where nombre like '%$textoAbuscar%' and (tipo = $sqlCheck)
esa sería una parte de la cadena de búsqueda
Luego según la condición del radioselect (imagino que tienes las opciones, nombre y precio), añadirías (no has dicho cómo se llama el campo de precio).
si radioselect = precio
order by precio
si no
order by nombre

Eso por lo que se refiere a la base. Lo demás, las condiciones, completar la cadena de consulta de manera dinámica, etc., tendrán que respondértelo en el foro PHP.
  #3 (permalink)  
Antiguo 16/09/2012, 10:16
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: Problema mostrar resultados con una select a bbdd

Intentare ser mas preciso.

la variable "%textoAbuscar%" hace referencia a un input donde metiendo una palabra en el cajetin de busqueda , esta variable hace la busqueda en la bbdd concretamete en la columna llamada "nombre" de una tabla llamada "alimentos".


y esos son los resultados que muestra.

Pero yo quiero que haga la busqueda en dos columnas de la misma tabla .

Concretamente en la columna "nombre" y la columna "precio" de la tabla llamada alimentos.


Por otra parte los check y radio select , son una parte que sirve para filtrar mas la busqueda pero esa parte no es el problema .


El problema es que no se como hacer la peticion select con "nombre" + "precio"



que supongo que sera algo parecido ( aunque me equivoque ) a algo asi :

Código PHP:
Ver original
  1. $result = mysql_query(select * from alimentos nombre or precios like '%textoAbuscar%' and (tipo = $sqlCheck) order by '$radioSelect'");


Pero no me funciona

help
  #4 (permalink)  
Antiguo 16/09/2012, 11:05
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: Problema mostrar resultados con una select a bbdd

Bueno ya he conseguido encontrar la solucion la pongo aqui para aquella persona que le pueda servir y con el animo de colaborar con este gran foro.

la solucion seria:

Código PHP:
Ver original
  1. $result = mysql_query("select * from alimentos where (nombre like '%$textoAbuscar%') or
  2.                                                      (precios like '%$textoAbuscar%')
  3.  
  4. and (tipo = $sqlCheck) order by '$radioSelect'");
  #5 (permalink)  
Antiguo 16/09/2012, 12:59
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Problema mostrar resultados con una select a bbdd

Vigila con atención el uso de paréntesis.
Código MySQL:
Ver original
  1. SELECT * FROM alimentos
  2.                   WHERE (nombre LIKE '%$textoAbuscar%'
  3.                                 OR
  4.                                 precios LIKE '%$textoAbuscar%')
  5.                                 AND tipo = $sqlCheck
  6.                   ORDER BY '$radioSelect';
Esta consulta buscará el dato sea en precios o en nombre; encontrará resultados si coincide con uno de ellos, o los dos; pero exigirá coincidencia con el tipo, es decir, uno de los dos o los dos y el tipo. Haz siempre pruebas con datos que sepas que se dan para comprobar que la consulta devuelve lo que quieres.

Etiquetas: bbdd, php, resultados, select, sql, tipo
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 06:51.