Foros del Web » Programando para Internet » PHP »

Pasar variables de 2 formulario a una tabla de una base de datos

Estas en el tema de Pasar variables de 2 formulario a una tabla de una base de datos en el foro de PHP en Foros del Web. Hola. Tengo un formulario donde introduzco datos personales de un usuario (dni, nombre, apellidos...) y lo meto en la base de datos; a continuación me ...
  #1 (permalink)  
Antiguo 11/09/2008, 12:48
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 7 meses
Puntos: 0
Pasar variables de 2 formulario a una tabla de una base de datos

Hola.

Tengo un formulario donde introduzco datos personales de un usuario (dni, nombre, apellidos...) y lo meto en la base de datos; a continuación me traslado a otra página donde introduzco los estudios (centro, especialidad...) y lo meto en la base de datos.

El problema es que en la base de datos existe una tabla intermedia donde se almacena el dni del usuario y el idEstudios y cuando hago lo anterior se crean 2 filas distintas (cuando lo tiene que meter en la misma)

Cómo lo hago?

Gracias
  #2 (permalink)  
Antiguo 11/09/2008, 12:52
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

traslada el id del usuario al segundo form, mediante un campo hidden, y cuando insertas el segundo form, insertas tambn lo datos de la tabla intermedia.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 11/09/2008, 12:53
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

Esperate, esperate explícate bien, dices que tienes otra tabla en la que almacenas algunos datos, bien, pero donde se crean dos filas? en la tabla principal? o en la que llamas "intermedia"? Explicanos un poco mejor tu problema, yo tengo experiencia en hacer ese tipo de cosas que tú quieres hacer.
  #4 (permalink)  
Antiguo 11/09/2008, 13:03
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

hola...

Lo que tienes que hacer en la segunda vez es un UPDATE a las tablas que deseas , claro siempre y cuando $lavariable que uses sea la misma, para que asi de esta manera este actualizando el primer registro y ya no se crearia otra fila como nuevo registro... ejemplo:

Código PHP:
<?php

if(isset($id)){

$sql="select * from tabla where id='$id' ";
$result=mysql_query($sql,$conexion);
$row=mysql_fetch_array($result)

$sqlupdate="update tabla set campo1_a_actualizar , campo2_a_actualizar, campo3_a_actualizar where id='$row[id]' ";


}
es solo un ejemplo claro, que debes amoldarlo a lo que realmente necesitas

Saludos

?>
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #5 (permalink)  
Antiguo 11/09/2008, 13:06
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

Yo tengo una tabla Candidato (nifCandidato, nombre, apellidos...)
luego tengo otra Estudio (idEstudio, titulo, especialidad...)
y por último otra Estudio-Candidato (nifCandidato, idEstudio, periodo...)

Ej:

Candidato
71287733 - Jorge - García Ruiz - ....

Estudio
1 - Informática - de Gestión - ...

Estudio-Candidato
71287733 - - - ....
- 1 - 2003/2004 - ....

En esta última tabla me crea 2 filas y quiero que sea 1.
  #6 (permalink)  
Antiguo 11/09/2008, 13:08
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

el numero 71287733 lo colocas en un input de tipo hidden en el segundo form(podrias enviarlo por el get cuando redirecciones), luego cuando insertas los datos del estudio, haces el insert de la tabla estudio-candidato tambien, obteniendo el id de estudio(que acabas de insertas) y el id de usuario que enviaste por post

Saludos, espero haberme explicado
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 11/09/2008, 13:11
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

La verdad es que estoy empezando en esto y no te entiendo muy bien...

podrías ponerme el código? o dónde encontrar un ejemplo o algo así?

Gracias!
  #8 (permalink)  
Antiguo 11/09/2008, 13:16
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

entonces postea tu avance...
<?php
?>

y la estructura de las tablas..

table(
campo, tipo,

)
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #9 (permalink)  
Antiguo 11/09/2008, 13:18
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

Pues mira:

Cuando envias el primer form al php destino para hacer el insert, tomas el id del usuario y mandas este por medio de get a la pagina dond e esta tu segundo form.
De esta forma, mas o menos:

Cita:
segundoForm.php?idUser=<?php echo $id;?>
Luego tomas este id, en el archivo del segundo form:
Cita:
$iduser=$_GET['idUser'];
esto lo colocas en el form, de esta manera:
Cita:
<input type="hidden" value=<?php echo $idUser;?> name="idUser">
Cuando haces el envio del segundo form, enviaras tambn el id del usuario, luego....
haces el insert de estudios y tomas el id de este, luego haces el insert de la tabla intermedia como le llamas, usando el id que acabas de retomar con get y el que acabas de generar.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #10 (permalink)  
Antiguo 11/09/2008, 13:31
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

Ok, ya entiendo porque le llamas intermedia y ya entiendo porque te salen duplicados los datos (eso creo).

Bueno te daré una sugerencia y la solución a tu problema. Primero la sugerencia. No entiendo porque tienen que haber 3 tablas, si podrían haber solo dos. Talvez pretendas con eso relacionar al Candidato con los estudios, pero eso no se hace así, basta con que añadas a la tabla "Estudio" el id del cantidato. Ok, es solo una sugerencia, a lo mejor hay una buena razón para hacerlo.

Ok, ahora la solución, tengo que suponer (porque no lo has explicado) que al enviarse cada formulario se carga la información en dos tablas, en el primer envío se carga en la tabla Candidatos y en Estudio-Candidato, y en segundo envío se carga en Estudio y Estudio-Candidato. Estoy en lo cierto? es por eso que en esta tabla intermedia aparecen dos flas cuando tú quieres que sólo aparesca una sola. OK, si he supuesto bien, entonces te daré la solución:

Esta tabla intermedia debe tener un id, digamos simplemente "id" (puedes ponerle el nombre que te de la gana obviamente). En el primer envío de datos guardas los datos correspondientes a esta tabla con un INSERT, pero debes obtener su id mediante esta función:

mysql_insert_id();

Eso te dará el id del último registro insertado, ok, "guardas" ese id en un input hidden, en el segundo envío tomas ese id y ya no haces un INSERT sino un UPDATE con la condición de que el id de esa tabla sea el valor de input hidden. De este modo:

$id = $_POST["idi"]; // input hidden
$sql = "Update Estudio-Candidato set ....... where id = $id";

Eso hará que quede todo en un mismo registro. Espero que sea lo que buscabas.
  #11 (permalink)  
Antiguo 15/09/2008, 04:03
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Pasar variables de 2 formulario a una tabla de una base de datos

¡¡¡¡ GRACIAS A TODOS !!!

Por fin lo solucioné.

Puse:

<input type="hidden" value=<?php echo $Nif;?> name="Nif">

en el segundo formulario y,

$Nif=$_POST['Nif'];

junto con el insert en el php al que redireccionaba y perfecto!

muchas gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:37.