Foros del Web » Programando para Internet » PHP »

Join para insertar en 2 tablas

Estas en el tema de Join para insertar en 2 tablas en el foro de PHP en Foros del Web. Buenas he intentado "inventarme" la manera de insertar datos procedentes de un form a 2 tablas diferentes, pero obviamente no tira la cosa. Alguien me ...
  #1 (permalink)  
Antiguo 21/12/2008, 10:43
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Join para insertar en 2 tablas

Buenas he intentado "inventarme" la manera de insertar datos procedentes de un form a 2 tablas diferentes, pero obviamente no tira la cosa.
Alguien me puede decir como corregirlo con JOIN?

Código PHP:
<?php
//Conexion con la base
mysql_connect("localhost","++++","++++"); 
//selección de la base de datos con la que vamos a trabajar 
mysql_select_db("aerotechdb"); 
if(
$usuario==NULL|$contrasena==NULL|$contrasena2==NULL|$mail==NULL) { 
echo 
"Un campo está vacio. Vuelve atrás en tu navegador y rellena todos los campos correctamente. Gracias."
}else{ 
// ¿Coinciden las contraseñas? 
if($contrasena!=$contrasena2) { 
echo 
"Las contraseñas no coinciden. Vuelve atrás en tu navegador y rellena todos los campos correctamente. Gracias."
}else{ 
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían 
$checkuser mysql_query("SELECT nombre_usuario FROM mi_db WHERE nombre_usuario='$usuario'");
$checkuser1 mysql_query("SELECT Nick FROM tblUsuarios WHERE Nick='$usuario'");
$usuario_exist mysql_num_rows($checkuser); 

$checkmail mysql_query("SELECT mail_usuario FROM mi_db WHERE mail_usuario='$mail'");
$checkmail2 mysql_query("SELECT Email FROM tblUsuarios WHERE Email='$mail'"); 
$mail_exist mysql_num_rows($checkmail); 

if (
$mail_exist>0|$usuario_exist>0) { 
echo 
"EL nombre de usuario o la cuenta de correo estan ya en uso. Vuelve atrás en tu navegador y rellena todos los campos correctamente. Gracias."
}else{
//Todo parece correcto procedemos con la inserccion 
$query "INSERT INTO mi_db (nombre_usuario,clave_usuario,mail_usuario,nombre_real,apellido1_real,apellido2_real,direccion_real,localidad_real,poblacion_real,cp_real,telefono_real) VALUES('$usuario','$contrasena','$mail','$nombre','$apellido1','$apellido2','$direccion','$localidad','$poblacion','$cp','$telefono')";
$query "INSERT INTO tblUsuarios (Nick,Password,Email,nombre_real,apellido1_real,apellido2_real,direccion_real,localidad_real,poblacion_real,cp_real,telefono_real) VALUES('$usuario','$contrasena','$mail','$nombre','$apellido1','$apellido2','$direccion','$localidad','$poblacion','$cp','$telefono')";
mysql_query($query) or die(mysql_error()); 
echo 
"¡Enhorabuena! El usuario <b>$usuario</b> ha sido registrado de manera satisfactoria. Ahora ya puedes disfrutar de todas las ventajas de ser miembro de Aerotech Cullera. Podrás participar en sorteos, concursos, acceder a zonas exclusivas solo para miembros y muchas más cosas. En unos segundos serás redireccionado a la página inicial."



?>
Un poco de luz por favor
  #2 (permalink)  
Antiguo 21/12/2008, 10:46
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 6 meses
Puntos: 18
Respuesta: Join para insertar en 2 tablas

puedes probar con procedimientos almacenados. mucho mejor. Busca por google que hay mucha información
  #3 (permalink)  
Antiguo 21/12/2008, 11:10
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: Join para insertar en 2 tablas

haber si entiendo. quieres utilizar cierta informacion de un Query de un JOIN he insertar esos valores en una nueva tabla... ?

para ello debes hacer las Queries respectivas y almacenarlas con su relacionador o identificador a esa tabla.
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #4 (permalink)  
Antiguo 21/12/2008, 11:19
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 2 meses
Puntos: 10
Respuesta: Join para insertar en 2 tablas

Tio me parece o usas la misma variable $query
Código PHP:
//Todo parece correcto procedemos con la inserccion  
$query "INSERT INTO mi_db (nombre_usuario,clave_usuario,mail_usuario,nombre_real,apellido1_real,apellido2_real,direccion_real,localidad_real,poblacion_real,cp_real,telefono_real) VALUES('$usuario','$contrasena','$mail','$nombre','$apellido1','$apellido2','$direccion','$localidad','$poblacion','$cp','$telefono')"
$query "INSERT INTO tblUsuarios (Nick,Password,Email,nombre_real,apellido1_real,apellido2_real,direccion_real,localidad_real,poblacion_real,cp_real,telefono_real) VALUES('$usuario','$contrasena','$mail','$nombre','$apellido1','$apellido2','$direccion','$localidad','$poblacion','$cp','$telefono')"
mysql_query($query) or die(mysql_error()); 
creo mque debes usar $query1 y $query2
  #5 (permalink)  
Antiguo 21/12/2008, 11:19
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 8 meses
Puntos: 416
Respuesta: Join para insertar en 2 tablas

Haz el primer INSERT,
Luego para obtener el ID del registro recien insertado utiliza: mysql_insert_id()
Guardando el ID anterior (el proveniente de mysql_insert_id) haz el 2do query.

http://www.php.net/manual/en/functio...-insert-id.php
  #6 (permalink)  
Antiguo 21/12/2008, 11:34
 
Fecha de Ingreso: febrero-2007
Mensajes: 43
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Join para insertar en 2 tablas

me das a entender con esto que no sabes como sacar del formulario los datos o como..? en fin:

al principio de tu php introduces un $_REQUEST o $_POST de por ejemplo Email tal que asi :
Código PHP:
$mail $_REQUEST['nombreDelTextField'];
/* el apartado nombreDelTextField seria el nombre que le das al lugar donde vas a introducir el usuario en el formulario.. */ 
y ya:

Código PHP:
<?php
$checkmail 
mysql_query("SELECT mail_usuario FROM mi_db WHERE mail_usuario='$mail'"); 
$checkmail2 mysql_query("SELECT Email FROM tblUsuarios WHERE Email='$mail'"); 
?>
creo que no es lo que quieres pero bueno , aki como ves.. trabajas con la salida que da el anterior formulario, y trabajas con 2 tablas sin utilizar el join..
el formulario en su cabezera simplemente poner
Código HTML:
<form id="formulario.php" name="form1" method="post" action="recibeFormulario.php">
<-- recibeFormulario.php seria el codigo que tu has escrito y formulario.php logicamente el formulario donde ENVIAS los datos --> 
si no sabes como modificar 2 tablas a la vez modificalas 1 por una de toas formas mira la sitasix del join..

Última edición por Pikamo; 21/12/2008 a las 11:38 Razón: ENVIAS no recoges
  #7 (permalink)  
Antiguo 21/12/2008, 15:45
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Join para insertar en 2 tablas

Cita:
Iniciado por franko1809 Ver Mensaje
Tio me parece o usas la misma variable $query
creo mque debes usar $query1 y $query2
Macho tienes razón! XD si repites variables siempre usa la ultima, por eso no me insertaba datos en la primera. Tan sencillo como hacer 2 INSERT en diferentes variables. Chapó franko1809
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 09:40.