Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Insertar registro en una tabla

Estas en el tema de Insertar registro en una tabla en el foro de PHP en Foros del Web. Hola estimados, intento incluir unos registros obtenidos de un formulario a un nueva tabla, esto me resulta, pero no con el resultado que realmente espero… ...
  #1 (permalink)  
Antiguo 07/03/2016, 10:27
Avatar de marciano_79  
Fecha de Ingreso: agosto-2009
Mensajes: 88
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Insertar registro en una tabla

Hola estimados, intento incluir unos registros obtenidos de un formulario a un nueva tabla, esto me resulta, pero no con el resultado que realmente espero… les explico!

El formulario llama a una tabla categoría y esta a su vez tiene dos columnas IDCATEGORIA Y NOMBRE_CATEGORIA Ahora al momento de guardar el registro en otra tabla llamada galerías, con una columna llamada FKCATEGORIA quiero que específicamente llegue el resultado de NOMBRE_CATEGORIA y no el IDCATEGORIA

El problema especifico que tengo, es que en la columna FKCATEGORIA me registra el dato ID (su número) y yo quiero el NOMBRE_CATEGORIA.

Me podrían echar una manito con el código correcto que debería usar porfavor.!!! Les dejo el código del formulario y con el cual estoy haciendo el envio… estoy trabajando con mysqli


FORMULARIO:
Código HTML:
<?php  
include('_setup.php');

$consulta2=<<<SQL
SELECT IDCATEGORIA, 
       NOMBRE_CATEGORIA
FROM 
       categoria

SQL;

$filas2 = mysqli_query( $cnx , $consulta2);
?>

<!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>Categoría</label>
	<select name="nombre_categoria">
	<?php   
		while ( $columna = mysqli_fetch_array($filas2) ) {
			
			?>
			<option value=" <?php echo $columna['IDCATEGORIA'] ?> " >
			<?php echo $columna['NOMBRE_CATEGORIA']; ?>
			</option>
			
			<?php
		 }   
		?>    
	</select>
	
	</form>
</body>
</html> 
Y EL QUE GUARDA EL REGISTRO

Código PHP:
<?php

include('_setup.php');


$nombre_categoria $_POST['nombre_categoria'];
$titulo $_POST['titulo'];
$descripcion $_POST['descripcion'];

$consulta=<<<SQL
INSERT INTO
       galerias
SET

   TITULO='$titulo',
   FKCATEGORIA='$nombre_categoria',
   DESCRIPCION='$descripcion',
   FECHA_ALTA = NOW()

SQL;

mysqli_query($cnx$consulta);

header("Location: index.php");

?>
Espero me puedan ayudar, si necesitan mas datos, me indican cual y se los envio... gracias de antemano.!
  #2 (permalink)  
Antiguo 07/03/2016, 10:49
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Insertar registro en una tabla

Modifica el value del select en tu formulario cambiando
$columna['IDCATEGORIA']
Por
$columna['NOMBRE_CATEGORIA']

Igualmente indicar que el campo de la tabla de tu base de datos donde lo vas a almacenar deberá de ser del tipo y tamaño adecuado al dato que pretendes almacenar.

Por otro lado si tienes las dos tablas y ambas están relacionadas mediante una clave foránea no creo que haya necesidad de hacer lo que planteas. Es incrementar el tamaño de la base de datos inecesariamente, entre otras.
  #3 (permalink)  
Antiguo 07/03/2016, 10:55
Avatar de marciano_79  
Fecha de Ingreso: agosto-2009
Mensajes: 88
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Insertar registro en una tabla

Muchísimas gracias por tu pronta respuesta y en especial porque me diste la solución.!! era lo que decias tu cambiar IDCATEGORIA POR NOMBRE_CATEGORIA

MUCHAS GRACIAS!

Etiquetas: mysqli
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 18:09.