Autor Tema: Ayuda con formulario he insertar dos registros diferentes en nueva tabla  (Leído 3068 veces)

marciano_79

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
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

Código: [Seleccionar]
<?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

Citar
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
« Última modificación: 25 de Marzo 2016, 22:33 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
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!
Responsable de departamento de producción aprenderaprogramar.com

marciano_79

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
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.

Código: [Seleccionar]
<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!

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Gracias a tí por poner el código solución, como dices tal vez le sirva a otras personas

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".