Foros del Web » Programando para Internet » PHP »

¿como mostrar resultado de busqueda segun categoria?

Estas en el tema de ¿como mostrar resultado de busqueda segun categoria? en el foro de PHP en Foros del Web. Hola, estoy haciendo un pqueño proyecto y no se como hacer lo siguiente, debo decir que se poco de php, hace un tiempo me iba ...
  #1 (permalink)  
Antiguo 02/09/2010, 13:02
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 20 años, 6 meses
Puntos: 0
¿como mostrar resultado de busqueda segun categoria?

Hola, estoy haciendo un pqueño proyecto y no se como hacer lo siguiente, debo decir que se poco de php, hace un tiempo me iba mejor en php pero como lo he dejado de lado estoy otra vez que no se donde van las cosas :)

Bueno tengo varias categorias, por ejemplo, comedia, accion, animacion, drama, y en el campo de la base de datos se guardan separadas por coma, o sea:
accion, drama
porque si una pelicula es por ejemplo de animacion, y tambien es comedia, por eso se guarda asi, porque asi se presenta en los resultados.

Ahora bien, lo primero que quiero hacer es que al momento de elegir en el menu cualquier a de las categorias por ejemplo drama, lo busque en la bd y muestre en una pagina la informacion que contenga drama como categoria.

Claro se hace con un WHERE verdad? el problema es que como estan separados por coma no muestra el resultado

yo le pongo
Código PHP:
("SELECT * FROM peliculas WHERE (categoria='$categoria') ORDER BY nombre ASC"); 
categoria es el nombre del campo en la bd

Eso tendria que funcionar cuando se elige la categoria desde el menu, y si es desde una busqueda como seria? eso tambien me falta.

Un saludo, espero que se entienda :)
  #2 (permalink)  
Antiguo 02/09/2010, 13:07
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: ¿como mostrar resultado de busqueda segun categoria?

porque no usas LIKE en lugar de WHERE
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #3 (permalink)  
Antiguo 02/09/2010, 13:07
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 18 años, 3 meses
Puntos: 22
Respuesta: ¿como mostrar resultado de busqueda segun categoria?

Hola,

Si guardas las categorías a las que pertenecen separadas por comas, esa consulta no te funcionaría, porque por ejemplo 'accion,drama' no es igual a 'drama'. Lo puedes resolver con LIKE, algo así:


Código:
select * from peliculas where concat(',',categoria,',') like '%,$categoria,%' order by nombre asc
Para un buscador sería lo mismo. Si quieres dar la opción de seleccionar múltiples categorías, las únes por comas en la consulta tal como cuando las guardas (es decir, $categorías podría valer "accion,drama", cosa sencilla de lograr con un implode(), por ejemplo). Si quieres agregar otros términos de búsqueda simplemente los vas agregando antes del order by con and u or, según corresponda.

Saludos!
  #4 (permalink)  
Antiguo 02/09/2010, 13:10
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 8 meses
Puntos: 65
Respuesta: ¿como mostrar resultado de busqueda segun categoria?

bueno eso es más de mysql que de php :P

y lo que necesitas es que como el campo lo guardas con comas y además tiene información anexa.. te recomiendo que uses el LIKE.. la consulta quedaría más o menos asi..

Código MySQL:
Ver original
  1. SELECT * FROM peliculas where categoria LIKE '%$q%'  ORDER BY nombre ASC

checa si te sirve ;)

edito: jajajaja tres respuestas en menos de tres minutos no te puedes quejar que no queremos ayudar xD
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #5 (permalink)  
Antiguo 02/09/2010, 13:31
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: ¿como mostrar resultado de busqueda segun categoria?

jajaja no, no me quejo, muchas gracias, para la busqueda aun no lo pruebo, lo estoy probando directamente en la pagina de resultados. Y si funciona.

Muchas gracias

Tengo otra consulta sobre el mismo tema y no se si abrir otro tema, el caso es que me muestra una tabla con todos los resultados, pero como creo un enlace a otra pagina donde me muestre el contenido de la pelicula?

osea me sale el listado, hago click en uno de los nombres y me dirija a una pagina que muestre el contenido de esa pelicula, asi con todas.


saludos
  #6 (permalink)  
Antiguo 02/09/2010, 13:34
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: ¿como mostrar resultado de busqueda segun categoria?

pues nada mas seria asi

echo '<td><a href="detalle_pelicula.php?id_pelicula='.$id de la consulta.'">

y en detalle_pelicula.php haces una consulta con el id que envias,

es una sugerencia
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #7 (permalink)  
Antiguo 02/09/2010, 13:37
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: ¿como mostrar resultado de busqueda segun categoria?

Muchas gracias, voy a probar :)

Etiquetas: busquedas, resultados, categorias
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 13:09.