PHP - php, mySQL registro de formulario en tablas rel.

 
Vista:

php, mySQL registro de formulario en tablas rel.

Publicado por Rankxerox1984 (1 intervención) el 04/11/2010 19:54:07
Hola a todos:

Estoy intentando registrar desde un formulario en una base de datos con tablas relacionadas.
Las tablas estan creadas desde phpmyadmin que viene con XAMPP,
Todos los campos que no son índice, por el momento, son varchar.
Cada tabla tiene dos indices:
Uno primario autonumerico (PK)
uno sencillo (K)
las relaciones son de indice primario a indice sencillo de uno a varios de modo que:
las personas (tabla personas campo idPrimaryPER-PK) pueden tener varias direcciones (tabla direcciones campo idPER-K y tabla tipo campo isDIR-K)
Las personas (tabla personas campo idPrimaryPER-PK) solo pueden tener un login (tabla claveusu campo idPrimaryUSU-PK, cambié el nombre)
Las personas (tabla personas campo idPrimaryPER-PK) pueden tener varios telefonos (tabla contacto campo idPER-K
Los telefonos (tabla contacto campo idPrimaryCON-PK) pueden ser de varios tipos (tabla tipo campo idTIP-K)

El objettivo final es poder grabar los registros en el formulario de entrada que te he enviado para que luego, una vez registrado, el usuario pueda acceder con su login y modificar o añadir datos.
Pero eso es futuro, por el momento seré muy feliz si consigo registrar los datos con el formulario de entrada y que se conserve la relación entre los registros en las diferentes tablas.
Por el momento lo que he hecho es utilizar la sentencia php $id = mysql_insert_id(idPrimaryPER); para recuperar el PK de personas y luego con un while he hecho esto:

El codigo es:

while ($id = mysql_insert_id(idPrimaryPER)) { $query = "INSERT INTO clavesusu (usuario, clave) VALUES ('$usuario',

'$clave' )";}
$id = mysql_insert_id(idPrimaryPER);
while ($id = mysql_insert_id(idPrimaryPER)) {$query = "INSERT INTO direcciones (direccion, poblacion, provincia, ZIPCode,

pais ) VALUES ('$direccion','$poblacion','$provincia','$ZIPCode','$pais')";}
$id = mysql_insert_id(idPrimaryPER);
while ($id = mysql_insert_id(idPrimaryPER)) {$query = "INSERT INTO contacto (telGeneral, telDirecto, FAX, eMail) VALUES

('$telGeneral','$telDirecto','$FAX','$eMail')";}


pero casca y da este mensaje:

Warning: mysql_insert_id() expects parameter 1 to be resource, string given in C:\xampp\htdocs\TESTphp.php on line 92

Warning: mysql_insert_id() expects parameter 1 to be resource, string given in C:\xampp\htdocs\TESTphp.php on line 93

Warning: mysql_insert_id() expects parameter 1 to be resource, string given in C:\xampp\htdocs\TESTphp.php on line 94

Warning: mysql_insert_id() expects parameter 1 to be resource, string given in C:\xampp\htdocs\TESTphp.php on line 95

Warning: mysql_insert_id() expects parameter 1 to be resource, string given in C:\xampp\htdocs\TESTphp.php on line 96

Warning: mysql_insert_id() expects parameter 1 to be resource, string given in C:\xampp\htdocs\TESTphp.php on line 97
New record inserted with ID 20

¿Alguien me puede ayudar, please?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder