Salve a tutti sono nuovo di questo forum , ho un form che invia dati a mysql, il database é compòsto da 6 tabelle.
Ho una tabella principale nella quale ha le 5 chiavi esterne delle altre tabelle.
Quando il database non ha relazioni, il form invia perfettamente tutti i dati a tutte e 6 le tabelle, il problema sorge quando creo le relazioni , le tabelle si riempono tutte tranne la tabella principale che ospita le chiavi esterne.
tabella creditori é la principale
Il processo é questo
Form.php ----> raccoltadati.php ------> db mysql
il codice php di raccolta dati é questo:
Senza relazioni il database funziona, tutte le tabelle tutti i campi si riempono, il problema é quando nel database creo le relazioni sola la tabella creditori che contiene le chiavi esterne non si riempe
Questo é il codice della tabella creditori :
Spero di essere stato chiaro, anche perché sono spagnolo, e spero di essere aiutato
Grazie
Ho una tabella principale nella quale ha le 5 chiavi esterne delle altre tabelle.
Quando il database non ha relazioni, il form invia perfettamente tutti i dati a tutte e 6 le tabelle, il problema sorge quando creo le relazioni , le tabelle si riempono tutte tranne la tabella principale che ospita le chiavi esterne.
tabella creditori é la principale
Il processo é questo
Form.php ----> raccoltadati.php ------> db mysql
il codice php di raccolta dati é questo:
PHP:
<?php
//1.crea connessione
$conexion = mysql_connect("localhost","root","");
if (!$conexion) {
die("connesione fallita: " . mysql_error());
}
//2. seleziono il database
$seleccionar_bd = mysql_select_db("formaccongresos", $conexion);
if (!$seleccionar_bd) {
die(" selezione database fallita : " . mysql_error());
}
//3. prendo i campi dal form
//tabella creditori
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$localidad = $_POST['localidad'];
$provincia = $_POST['provincia'];
$direccion = $_POST['direccion'];
$cp = $_POST['cp'];
$nif = $_POST['nif'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];
$factura = $_POST['factura'];
// tabla Factura
$cif = $_POST['cif'];
$nombreContacto = $_POST['nombreContacto'];
$razonsociale = $_POST['razonsociale'];
$localidadFactura = $_POST['localidadFactura'];
$provinciaFactura = $_POST['provinciaFactura'];
$cpFactura = $_POST['cpFactura'];
$telefonoFactura = $_POST['telefonoFactura'];
// tabella Quota
$importe = $_POST['importe'];
$categoria = $_POST['categoria'];
//senza tabella
$tratamiento = $_POST['tratamiento'];
// tabella pago
$pago = $_POST['pago'];
//4. inserire i campi nel database
//acreditados
$sql = "INSERT INTO creditori(IDAcredita, Nombre, Apellidos, Localidad, Provincia, Direccion, CP , DNI, Telefono, Fax, Email, Factura, Categoria, Evento, Cuota, Observaciones ,Estado, Pago, SocioN, Curso,DatosFactura ,Patrocinadores )
VALUES( '','$nombre','$apellidos','$localidad','$provincia','$direccion','$cp','$nif','$telefono','123456789','$email','$factura','','','',' nadie ','','','2345','3','','4');";
$result = mysql_query($sql);
//estados
$sql = "INSERT INTO stato(IdEstado, Descripcion, CodigoEstado )
VALUES('','muy bien','2');";
$result = mysql_query($sql);
//Pagos
$sql = "INSERT INTO pago(Idpago, CodigoPago, FormaPago)
VALUES('','$pago','');";
$result = mysql_query($sql);
//Eventos
$sql = "INSERT INTO evento(CodigoEventos,IDEVENTOS,Descripcion, Eventos, Fecha)
VALUES(NULL,'4','congresos madrid',' numero 10 ',NULL);";
$result = mysql_query($sql);
//Quotas
$sql = "INSERT INTO Quota(CodigoCuota,IdCuotas,Importe, Importe2, Evento, Descripcion, Categoria)
VALUES('','3','$importe','','','mucho dinero','$categoria');";
$result = mysql_query($sql);
//fattura
$sql = "INSERT INTO fattura(IdFactura, Cif, Nombre_Contacto, Razon_Social, Localidad, Provincia, CP, Telefono )
VALUES('','$cif','$nombreContacto','$razonsociale','$localidadFactura','$provinciaFactura','$cpFactura','$telefonoFactura');";
$result = mysql_query($sql);
if (!$result) {
die("Fallo en la insercion de registro en la Base de Datos: " . mysql_error());
}
//4. Cerrar conexión a la Base de Datos
mysql_close($conexion);
?>
Senza relazioni il database funziona, tutte le tabelle tutti i campi si riempono, il problema é quando nel database creo le relazioni sola la tabella creditori che contiene le chiavi esterne non si riempe
Questo é il codice della tabella creditori :
Codice:
CREATE TABLE formaccongresos.creditori(
IDAcredita INT(11) NOT NULL AUTO_INCREMENT,
Nombre VARCHAR(30) NOT NULL,
Apellidos VARCHAR(90) NOT NULL,
Localidad VARCHAR(60) NOT NULL,
Provincia VARCHAR(60) NOT NULL,
Direccion VARCHAR(100) NOT NULL,
CP VARCHAR(5) NOT NULL,
DNI VARCHAR(20) NOT NULL,
Telefono VARCHAR(15) NOT NULL,
Fax VARCHAR(15) NOT NULL,
Email VARCHAR(255) NOT NULL,
Factura VARCHAR(30) NOT NULL,
Categoria INT(11) NOT NULL,
Evento INT(11) NOT NULL,
Cuota INT(11) NOT NULL,
Observaciones VARCHAR(250) DEFAULT NULL,
Estado INT(11) NOT NULL,
Pago INT(11) NOT NULL,
SocioN INT(11) DEFAULT NULL,
Curso INT(11) DEFAULT NULL,
DatosFactura INT(11) NOT NULL,
Patrocinadores INT(11) DEFAULT NULL,
PRIMARY KEY (IDAcredita),
UNIQUE INDEX UK_creditori_Quota (Quota),
UNIQUE INDEX UK_creditori_DatosFactura (DatosFactura),
UNIQUE INDEX UK_creditori_Estado (Estado),
UNIQUE INDEX UK_creditori_Evento (Evento),
UNIQUE INDEX UK_creditori_Pago (Pago),
CONSTRAINT FK_creditori_cuota_CodigoCuota FOREIGN KEY (Cuota)
REFERENCES formaccongresos.cuota (CodigoCuota) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT FK_creditori_stato_IdEstado FOREIGN KEY (stato)
REFERENCES formaccongresos.stato (IdStato) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT FK_creditori_eventos_CodigoEventos FOREIGN KEY (Evento)
REFERENCES formaccongresos.eventos (CodigoEventos) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT FK_creditori_fattura_IdFactura FOREIGN KEY (DatosFattura)
REFERENCES formaccongresos.fattura (IdFattura) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT FK_creditori_pago_IdPago FOREIGN KEY (Pago)
REFERENCES formaccongresos.pago (IdPago) ON DELETE RESTRICT ON UPDATE RESTRICT
)
ENGINE = INNODB
AUTO_INCREMENT = 7
CHARACTER SET utf8
COLLATE utf8_general_ci;
Spero di essere stato chiaro, anche perché sono spagnolo, e spero di essere aiutato
Grazie
