Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2010, 01:56
Greco2
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 10 meses
Puntos: 7
Pregunta duda con tablas relacionadas

hola

Tengo dos tablas para ordenar las fotos de la página:

tabla categoria

-id_categoria
-titulo

tabla imagenes
-id_imagen
-id_categoria
-url
-comentario

la referencia a las fotos que subo las almaceno en la tabla "imagenes" en donde el campo id_categoria almacena el id_categoria (valga la redundandia) obtenido de la tabla "categoria" dicho id es numerico.

Ahora mediante un bucle while muestro un listado de las imagenes almacenadas en la base de datos (tabla imagenes) mostrando todos sus datos pero cuando deseo mostrar la categoria a la que pertenece dicha imagen me muestra el numero ID de la categoria (lógico por que fue eso lo que almacene en la tabla imagenes) pero me gustaría mostrar el nombre de la categoria y no su id.

Una posible solucion pero creo que es la MENOS correcta sería que en cada vuelta de bucle hiciera una nueva consulta pero a la tabla categoria y sacara el titulo de la gategoria en donde id_categoria de la tabla imagenes fuese igual a al id_categoria de la tabla categoria.

Otra solucion que creo podría ser que modificara todo y en lugar de almacenar el id_categoria, almacenara el nombre (campo titulo) de la categoria y asi me evito estar haciendo nuevas consultas en cada vuelta del bucle.

este es el codigo que tengo:

Código PHP:
<?php
// Instanciamos el objeto
$paging = new PHPPaging;
        
// Indicamos la consulta al objeto 
$paging->agregarConsulta("SELECT * FROM imagenes ORDER BY id_categoria");
$paging->porPagina(10);
// Ejecutamos la paginación
$paging->ejecutar();  
        
// Imprimimos los resultados, para esto creamos un ciclo while
while($datos $paging->fetchResultado()) { 
    echo 
"ID: ".$datos['id_imagen']; 
    echo 
"CATEGORIA: ".$datos['id_categoria']; 
    echo 
"FOTO: ".$datos['url']; 
    echo 
"COMENTARIO: ".$datos['comentario']; 
}
?>
Alguien me podría dar una mano de como tendría que hacerlo para dar con lo que necesito??

Gracias.