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

Título: Ayuda con formulario he insertar dos registros diferentes en nueva tabla
Publicado 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

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
Título: Re:Ayuda con formulario he insertar dos registros diferentes en nueva tabla
Publicado por: César Krall en 25 de Marzo 2016, 22:55
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!
Título: Re:Ayuda con formulario he insertar dos registros diferentes en nueva tabla
Publicado por: marciano_79 en 29 de Marzo 2016, 02:01
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!
Título: Re:Ayuda con formulario he insertar dos registros diferentes en nueva tabla
Publicado por: César Krall en 31 de Marzo 2016, 12:57
Gracias a tí por poner el código solución, como dices tal vez le sirva a otras personas

Saludos!