Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Filtrar resultados por categoria

Estas en el tema de Filtrar resultados por categoria en el foro de PHP en Foros del Web. Buenas tardes, Tengo un BD donde guardo la siguiente información: ------------------------------------------- Ejemplo: ID.....................1 TITULO.....................Imagen CATEGORIA.....................Naturaleza ARCHIVO.....................imagen.jpeg ------------------------------------------- Tengo el siguiente recordset: Código PHP: mysql_select_db ( ...
  #1 (permalink)  
Antiguo 04/07/2014, 13:06
 
Fecha de Ingreso: agosto-2008
Mensajes: 43
Antigüedad: 15 años, 8 meses
Puntos: 1
Filtrar resultados por categoria

Buenas tardes,

Tengo un BD donde guardo la siguiente información:

-------------------------------------------
Ejemplo:
ID.....................1
TITULO.....................Imagen
CATEGORIA.....................Naturaleza
ARCHIVO.....................imagen.jpeg
-------------------------------------------

Tengo el siguiente recordset:

Código PHP:
mysql_select_db($database$ejemplo);
$query_Recordset "SELECT * FROM img  ORDER BY id ASC";
$Recordset mysql_query($query_Recordset$ejemplo) or die(mysql_error());
$row_Recordset mysql_fetch_assoc($Recordset);
$totalRows_Recordset mysql_num_rows($Recordset); 
Y hago un echo de esta manera:

Código PHP:
echo $row_Recordset['title']; 
Y me imprime la información correctamente y ahora necesito que imprima los datos pero solo de una categoría.
  #2 (permalink)  
Antiguo 04/07/2014, 13:13
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Filtrar resultados por categoria

Realiza el filtro en la consulta:

Código MySQL:
Ver original
  1. SELECT * FROM img WHERE categoria = 'ejemplo' ORDER BY id ASC

El dato de la categoría podrías recibirlo desde un formulario en el cual el usuario ingrese el dato y en el archivo que realiza la consulta, lo recibes ya sea por el método GET o POST (como es una búsqueda, debes usar el método GET), desinfectas el dato y realizas la búsqueda.

Por ejemplo:

Formulario de búsqueda
Código HTML:
Ver original
  1. <form action = "busqueda.php">
  2.     Ingrese la categoría: <input type = "text" name = "categoria" />
  3.     <input type = "submit" />
  4. </form>

Archivo que realiza la búsqueda
Código PHP:
Ver original
  1. $categoria = mysql_real_escape_string(strip_tags($_GET['categoria']));
  2. $query_Recordset = "SELECT * FROM img WHERE categoria = '{$categoria}' ORDER BY id ASC";
  3. $Recordset = mysql_query($query_Recordset, $ejemplo) or die(mysql_error());
  4. $row_Recordset = mysql_fetch_assoc($Recordset);
  5. $totalRows_Recordset = mysql_num_rows($Recordset);

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 04/07/2014 a las 13:19 Razón: Me faltaron un par de comillas
  #3 (permalink)  
Antiguo 04/07/2014, 13:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 43
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Filtrar resultados por categoria

Gracias Alexis88 el problema es que necesito realizarlo sin hacer una búsqueda, por ejemplo tengo esto desplegado en la paágina:

CATEGORIA 1

IMG......IMG

-------------------------------

CATEGORIA 2

IMG......IMG

---------------------------------

CATEGORIA 3

IMG......IMG

Y necesito que cada imagen se acomode en la categoria que le corresponde hasta ahorita lo lograba haciendo un recordset para cada categoría y filtrando como tu me lo propones:

Código PHP:
$query_Recordset "SELECT * FROM img WHERE categoria = '{$categoria}' ORDER BY id ASC"
Pero ahora necesito seleccionar todas las categorías en el mismo recordset y solo filtrarlo al momento de hacer el echo.

Gracias.
  #4 (permalink)  
Antiguo 04/07/2014, 13:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Filtrar resultados por categoria

¿La cantidad de categorías es siempre la misma o pueden haber más o menos?

Edito: Si hay una cantidad definida de categorías, esto te puede servir de guía.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 04/07/2014 a las 13:59 Razón: Ejemplo
  #5 (permalink)  
Antiguo 04/07/2014, 14:42
 
Fecha de Ingreso: agosto-2008
Mensajes: 43
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Filtrar resultados por categoria

Nuevamente gracias por tu pronta respuesta, el numero de categorías iría aumentando.
  #6 (permalink)  
Antiguo 04/07/2014, 16:26
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Filtrar resultados por categoria

En ese caso, esto se asemeja a lo que quieres. Cada conjunto de datos (array) devuelto por mysql_fetch_assoc equivale a cada array incluido en el array $array del ejemplo. Solo te queda adaptarlo a lo que necesitas.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 05/07/2014, 17:03
 
Fecha de Ingreso: agosto-2008
Mensajes: 43
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Filtrar resultados por categoria

Muchas gracias, eso es justo lo que necesitaba.

Etiquetas: filtrar, resultados
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 15:09.