Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: marciano_79 en 23 de Marzo 2016, 10:59
-
Hola a todos… quisiera que me ayudaran con un problema que tengo, dejando en claro que soy un aprendiz en programación y no se mucho de esto, pero quiero intentar preguntar acá haber si alguien me da una mano.
Estoy creando un panel de control para una galería de fotos y busco el resultado que indico más abajo
Para esto he creado una BD con sus tablas “categoría” y “galerías”
categoría; IDCATEGORIA – NOMBRE_CATEGORIA
galerías; IDGALERIA – TITULO – FECHA_ALTA – DESCRIPCION – FKCATEGORIA – CATEGORIA_ID
Con esto hasta el momento todo marcha de maravillas, cuando estoy en el archivo nueva_galeria.php donde tengo el formulario para llamar a los registros de la tabla “categoría” en esta solo puedo obtener el registro de NOMBRE_CATEGORIA donde consigo hacer que ingrese el registro en la otra tabla “galerías” a su columna FKCATEGORIA . El problema surge cuando quiero llamar al IDCATEGORIA por formulario, para incluir ese registro en la tabla “galerías” en su columna CATEGORIA_ID.
Para que se comprenda mejor… cuando en mi panel de control ingreso a crear una nueva galería, esta me da la opción de un formulario con un menú desplegable donde tengo las opciones de todas las categorías ingresadas en mi base de datos, al elegir una categoría especifica quisiera que también se incorporara el id de dicha categoría, pero no en FKCATEGORIA, ( ya que ahí estaría el nombre), sino en CATEGORIA_ID para que también aparezca en el registro como se ve en la imagen… incorporar el id de la categoría es lo que no sé hacer, les dejo el código para ver si alguien me da una mano y me indique la parte que me faltaría para cumplir mi propósito… gracias de ante mano.
Archivo: nueva_galeria.php
<?php
include('_setup.php');
$consulta=<<<SQL
SELECT
IDCATEGORIA,
NOMBRE_CATEGORIA
FROM
categoria
SQL;
$filas = mysqli_query( $cnx , $consulta);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
<style>
label {display:block;}
textarea {display:block;}
</style>
</head>
<body>
<form method="post" action="guardar_galeria.php">
<label>Nombre Categoría</label>
<select name="nombre_categoria" >
<?php
while ( $columna = mysqli_fetch_array($filas) ) {
?>
<option value=" <?php echo $columna['NOMBRE_CATEGORIA'] ?> ">
<?php echo $columna['NOMBRE_CATEGORIA']; ?>
</option>
<?php
}
?>
</select>
<label>ID_cat.</label>
<input type="text" name="id_categoria"/>
<label>Título</label>
<input type="text" name="titulo"/>
<label>Descripción</label>
<textarea name="descripcion" rows="5" cols="90"></textarea>
<input type="submit"/>
</form>
</body>
</html>
Dejo una muestra para que vean como tendria que quedar el resultado en las tablas del panel admin. Si se necesitan más datos solo pidanlos.. saludos y gracias de ante mano
PANEL DE CONTROL
Admin Página
CONTROL PÁGINA
Admin Categorías
Cargar una nueva categoría
Categoría Botones Acción
Retrato Editar Borrar
Moda Editar Borrar
Infantiles Editar Borrar
Fantasia Editar Borrar
Admin Galerías
Cargar una nueva galería
ID_cat Categoría Nombre Galería Descripción Fecha Alta Botones Acción
2 Moda Trajes de noche Vestidos fiesta formal 22/03/2016 Editar Borrar Admin Fotos
3 Infantiles Recién nacidos Fotografía de bebés 22/03/2016 Editar Borrar Admin Fotos
1 Retrato Tercera Edad Fotografía de abuelitos 22/03/2016 Editar Borrar Admin Fotos
-
Hola! Los id de las tablas en general son autoincrementales, es decir, se incrementan en una unidad cada vez que insertas una nueva fila en la tabla.
Para entender lo que ocurre a ver si estoy interpretando bien:
Tabla categoria: tiene un ID_categoria y un nombre_categoria por ejemplo podría ser ID_categoria 1 y nombre_categoria Retrato
Tabla galerias: tiene un ID_galeria, titulo, fecha_alta, descripcion, y ¿qué significa FK_categoria e id_categoria?
Realmente no acabo de entender cómo tienes diseñadas las tablas. Para mí una galería estaría formada por fotos, no por categorías. Cada foto pertenecería a una categoría y cada foto tendría un id_foto y un id_categoria.
¿Dónde tienes las fotografías?
Saludos!
-
Hola gracias por tu respuesta... te comento que mi problema ya esta solucionado gracias a los amigos de otro foro. Mi galeria de fotos tiene varias tablas: categoria, galerias, fotos etc..
sobre tu duda, en el FKCATEGORIA yo guardaria el nombre de la categoria, y en CATEGORIA_ID guardaria el ID de la categoria a la que pertenece la galeria de fotos... y bueno cuando se hace relacion de tablas es necesario que exista una columna con el ID padre a hijo.. practicamente para ello lo del FK (FOREIGN KEY).. y bueno eso seria.. dejo el codigo de lo que buscaba, talves a alguien más le sirva.
<option value=" <?php echo $columna['IDCATEGORIA'].'_*_'.$columna['NOMBRE_CATEGORIA'] ?> "> <?php echo $columna['NOMBRE_CATEGORIA']; ?></option>
Esto logicamente es mucho mas facil cuando se tiene clave foránea entre dos o más tablas.. lo que yo no habia hecho.!! saludos y gracias!
-
Gracias a tí por poner el código solución, como dices tal vez le sirva a otras personas
Saludos!