Problema ingresar datos a tablas relacion referencial

0 votos
preguntado por php

Hola a todos, Tengo un proyecto en el que necesito ingresar unos datos a cuatro tablas relacionadas, el inconveniente es que me introduce la información en la primera tabla y en las siguientes que tienen la clave foránea ningún registro. La base de datos es Mysql y las conexiones y formulario los hice con Dreamweaver. Tengo conocimientos someros y no había tenido inconvenientes en manejar una sola tabla mas con múltiples y relacionadas con Dreamweaver no lo he podido hacer. Agradezco la orientación en tanto que he buscado información mas no hay algo que me saque del inconveniente, lo que tengo entendido es que el inconveniente son las id autoincrementales, desde ahora muchas gracias. Adjunto código de las tablas y PHP:

CREATE TABLE `radicacion` (
`idradicacion` int(11) NOT NULL AUTO_INCREMENT,
`radicacion` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
`instancia` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
`proceso` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
`subclase` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
`daterepar` date NOT NULL,
`observacion` varchar(535) COLLATE utf8_spanish_ci NOT NULL,
`matinm` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
`namepred` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
`classmed` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`idradicacion`),
UNIQUE KEY `radicacion` (`radicacion`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci

CREATE TABLE `demandante` (
`iddatosdte` int(11) NOT NULL AUTO_INCREMENT,
`dte` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
`ccnitdte` varchar(20) COLLATE utf8_spanish_ci NOT NULL,
`dirteldte` varchar(60) COLLATE utf8_spanish_ci NOT NULL,
`iddte` int(11) NOT NULL,
PRIMARY KEY (`iddatosdte`),
KEY `iddte` (`iddte`),
CONSTRAINT `demandante_ibfk_1` FOREIGN KEY (`iddte`) REFERENCES `radicacion` (`idradicacion`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci

CREATE TABLE `apodte` (
`idapodte` int(11) NOT NULL,
`nameapodte` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
`dirapodte` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
`telapodte` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
`emailapodte` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
KEY `idapodte` (`idapodte`),
CONSTRAINT `apodte_ibfk_1` FOREIGN KEY (`idapodte`) REFERENCES `demandante` (`iddatosdte`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci

CREATE TABLE `demandado` (
`iddatosddo` int(11) NOT NULL AUTO_INCREMENT,
`ddo` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
`ccnitddo` varchar(20) COLLATE utf8_spanish_ci NOT NULL,
`dirtelddo` varchar(60) COLLATE utf8_spanish_ci NOT NULL,
`idddo` int(11) NOT NULL,
PRIMARY KEY (`iddatosddo`),
KEY `idddo` (`idddo`),
CONSTRAINT `demandado_ibfk_1` FOREIGN KEY (`idddo`) REFERENCES `radicacion` (`idradicacion`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci

CREATE TABLE `apoddo` (
`idapoddo` int(11) NOT NULL,
`nameapoddo` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
`dirapoddo` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
`telapoddo` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
`emailapoddo` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
KEY `idapoddo` (`idapoddo`),
CONSTRAINT `apoddo_ibfk_1` FOREIGN KEY (`idapoddo`) REFERENCES `demandado` (`iddatosddo`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci

___________________________________________________________________________________

1 Respuesta

0 votos
respondido por php

La parte del php:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO radicacion (radicacion, instancia, proceso, subclase, daterepar, observacion, matinm, namepred, classmed) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['radicacion'], "text"),
                       GetSQLValueString($_POST['instancia'], "text"),
                       GetSQLValueString($_POST['proceso'], "text"),
                       GetSQLValueString($_POST['subclase'], "text"),
                       GetSQLValueString($_POST['daterepar'], "date"),
                       GetSQLValueString($_POST['observacion'], "text"),
                       GetSQLValueString($_POST['matinm'], "text"),
                       GetSQLValueString($_POST['namepred'], "text"),
                       GetSQLValueString($_POST['classmed'], "text"));

  mysql_select_db($database_roldanillo, $roldanillo);
  $Result1 = mysql_query($insertSQL, $roldanillo) or die(mysql_error());

  $insertGoTo = "messagereg.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

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

  mysql_select_db($database_roldanillo, $roldanillo);
  $Result1 = mysql_query($insertSQL, $roldanillo) or die(mysql_error());
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO apodte (nameapodte, dirapodte, telapodte, emailapodte) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['nameapodte'], "text"),
                       GetSQLValueString($_POST['dirapodte'], "text"),
                       GetSQLValueString($_POST['telapodte'], "text"),
                       GetSQLValueString($_POST['emailapodte'], "text"));

  mysql_select_db($database_roldanillo, $roldanillo);
  $Result1 = mysql_query($insertSQL, $roldanillo) or die(mysql_error());
}

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

  mysql_select_db($database_roldanillo, $roldanillo);
  $Result1 = mysql_query($insertSQL, $roldanillo) or die(mysql_error());
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO apoddo (nameapoddo, dirapoddo, telapoddo, emailapoddo) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['nameapoddo'], "text"),
                       GetSQLValueString($_POST['dirapoddo'], "text"),
                       GetSQLValueString($_POST['telapoddo'], "text"),
                       GetSQLValueString($_POST['emailapoddo'], "text"));

  mysql_select_db($database_roldanillo, $roldanillo);
  $Result1 = mysql_query($insertSQL, $roldanillo) or die(mysql_error());
}
?>

Bienvenido a Preguntas y respuestas para programadores o profesionales de la informática. Si tienes cualquier duda aquí obtendrás la respuesta.
...