Stack Overflow en español Asked by PIERO SALAZAR on February 9, 2021
//para empezar tengo 3 tablas
//tabla usuario, area y distrito en las cuales la tabla usuario jala las pk
de area y distrito en su tabla, y en mi codigo he llegado a insertar en un formulario todo, y en la tabla usuario me sale todo normal osea las fk
normales pero solo en una que es area pero la otra fk
de distrito no me sale, antes que nada las dos fk
son autoincrement, he estado investigando y para que me jale una usea el ".$mysqli->insert_id."
<?php
require_once("../Trabajo/conexion.php");
if(
isset($_POST["DNI"]) &&
isset($_POST["NOMBREUSU"]) &&
isset($_POST["APEUSU"]) &&
isset($_POST["APEMATUSU"]) &&
isset($_POST["DIREUSU"]) &&
isset($_POST["NOMDIST"]) &&
isset($_POST["DESUSU"])
){
$mysqli-> query("INSERT INTO
distrito(
ID_DISTRI,
NOM_DISTRI
)
VALUES(
null,
'".$_POST["NOMDIST"]."'
)
");
$mysqli-> query("INSERT INTO
area(
ID_AREA,
DES_AREA
)
VALUES(
null,
'".$_POST["DESUSU"]."'
)
");
$mysqli-> query("INSERT INTO
usuario
VALUES(
'".$_POST["DNI"]."',
'".$_POST["NOMBREUSU"]."',
'".$_POST["APEUSU"]."',
'".$_POST["APEMATUSU"]."',
null,
'".$_POST["DIREUSU"]."',
null,
null,
null,
null,
".$mysqli->insert_id."
)
");
};
?>
El insert_id
solo te devuelve el último autoincremento insertado, no todos los realizados; por tanto necesitas crear (te sugiero) 2 variables; una para cada id
que se genera; aquí las nombrare $idDistrito
e $idArea
; tal que, hagas lo siguiente:
$mysqli->query("TU INSERT A DISTRITO");
$idDistrito=$mysqli->insert_id;
$mysqli->query("TU INSERT A AREA");
$idArea=$mysqli->insert_id;
ya con estas 2 nuevas variables las colocas en la parte de tu INSERT
a usuario
donde le corresponda a c/u.
Answered by RobertoLeOr on February 9, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP