Insertar datos de dos tablas de un formulario

Que tal David necesito insertar datos a dos tablas diferentes por medio de un solo formulario.
Clave: (Text)
Descripción (tExt)
Meta(Text)
Año(text)
Los campos clave y descripción pertenecen a la tabla indicadores, y meta y año en la tabla de metas.
Ojala me pueda ayudar con esta doble inserción.
Gracias. =)

3 respuestas

Respuesta
1
No hay ningún problema: el formulario supongo que ya lo tienes con los cuatro campos.
Cuando lo recibas en la página destino, sólo tienes que insertar cada dato en la tabla que le corresponda:
<?php
$sql = "INSERT INTO tabla1 (campoclave, campodesc) VALUES (" . $_REQUEST["clave"] . ", " . $_REQUEST["descripcion"] . ")";
mysql_query($sql);
$sql = "INSERT INTO tabla2 (campometa, campoanno) VALUES (" . $_REQUETS["meta"] . ", " . $_REQUEST["año"] . ")";
mysql_query($sql);
?>
Una vez tengas la conexión abierta, puedes ejecutar tantas sentencias SQL quieras sin problemas.
Perdona, pero ahora me he dado cuenta que me había olvidado las comillas simples que deben rodear a los textos en la sentencia SQL:
<?php
$sql = "INSERT INTO tabla1 (campoclave, campodesc) VALUES ('" . $_REQUEST["clave"] . "', '" . $_REQUEST["descripcion"] . "')";
mysql_query($sql);
$sql = "INSERT INTO tabla2 (campometa, campoanno) VALUES ('" . $_REQUETS["meta"] . "', "' . $_REQUEST["año"] . "')";
mysql_query($sql);
?>
Respuesta

No me registra a las tres tabla en php

Respuesta

Como dice david cortes, yo por ejemplo uso dreamweaver, con los insert a cada tabla hago lo siguiente, te pongo un ejemplo:

¿

¿

<?php

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO cat (descripcion) VALUES (%s)",
GetSQLValueString($_POST['descripcion'], "text"));

mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());         //tabla 1
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO usuarios (Nombre) VALUES (%s)",
GetSQLValueString($_POST['Nombre'], "text"));

mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());  //tabla 2
}

¿

?>

<body>
<form action="envio.php" method="get" name="form1" id="form1">
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right">Descripción:</td>
<td><input type="text" name="descripcion" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Nombre:</td>
<td><input type="text" name="Nombre" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"></td>
<td><input type="submit" value="Insertar registro" /></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>

</body>

Como te marque tabla 1 y 2, son distintos insert a distintas tablas, ahora vamos con el formulario

Y aquí en otra página recibe los parámetros

Recibido.php

¿

¿

<?php
$descripcion=$_GET["descripcion"];
$nombre=$_GET["Nombre"];?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

Descripción:<?php echo $descripcion?><br />

Nombre:<?php echo $nombre?>
</body>
</html>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas