PHP - Como actualizar datos de dos tablas unidas con INNER JOIN en un mismo formulario

   
Vista:

Como actualizar datos de dos tablas unidas con INNER JOIN en un mismo formulario

Publicado por Jose (5 intervenciones) el 05/07/2016 22:48:44
Hola a todos, espero que se encuentren muy bien, en ésta oportunidad, quisiera saber si es posible actualizar los datos de dos tablas simultaneamente que están unidas con inner join, y en un mismo formulario.

Con siguiente código lo hago, pero me actualiza todos los registros con el mismo dato que ingreso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if(!empty($_POST['ced'])){
	$ced=limpiar($_POST['ced']);		$nom=limpiar($_POST['nom']);
	$usu=limpiar($_POST['usu']);		$tipo=limpiar($_POST['tipo']);
	$estado=limpiar($_POST['estado']);	$con=limpiar($_POST['con']);
	$descripcion=limpiar($_POST['descripcion']);
 
	if($_POST['proceso']=='actualizar'){
 
		mysql_query("UPDATE usuarios INNER JOIN datosmed ON usuarios.ced = datosmed.id_med SET usuarios.nom = '$nom', usuarios.estado = '$estado', usuarios.usu = '$usu', usuarios.tipo = '$tipo', datosmed.descripcion ='$descripcion'");
 
		echo mensajes("El usuario ha sido Actualizado con Exito","verde");
	}elseif($_POST['proceso']=='guardar'){
		if (preg_match("/\\s/", $usu)){
			echo mensajes('No se permiten espacios en la cuenta de usuario','rojo');
		}else{
			mysql_query("INSERT INTO usuarios (ced,estado,nom,usu,con,tipo)
			VALUES ('$ced','$estado','$nom','$usu','$con','$tipo')");
			echo mensajes("El usuario ha sido Registrado con Exito","verde");
		}
	}
}
?>
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
Imágen de perfil de kip

Como actualizar datos de dos tablas unidas con INNER JOIN en un mismo formulario

Publicado por kip (562 intervenciones) el 06/07/2016 21:25:09
Hola, podrias intentarlo de esta forma:

1
mysql_query("UPDATE usuarios SET (usuarios.nom = '$nom', usuarios.estado = '$estado', usuarios.usu = '$usu', usuarios.tipo = '$tipo', datosmed.descripcion ='$descripcion') FROM usuarios INNER JOIN datosmed ON (usuarios.ced = datosmed.id_med)  ");

o tal vez asi:

1
mysql_query("UPDATE usuarios SET (usuarios.nom = '$nom', usuarios.estado = '$estado', usuarios.usu = '$usu', usuarios.tipo = '$tipo', datosmed.descripcion ='$descripcion') FROM usuarios INNER JOIN datosmed ON (usuarios.ced = datosmed.id_med) WHERE usuarios.ced = '$ced' ");

Nos cuentas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como actualizar datos de dos tablas unidas con INNER JOIN en un mismo formulario

Publicado por Jose (5 intervenciones) el 08/07/2016 00:54:36
Hola, gracias. Pero no me funcionó, tendré que actualizar por separado las tablas, porque tengo una tabla de login, ya saben para iniciar sesión. donde tengo el nombre de usuario, contraseña, nivel (admin o usuario), estado (activo o desactivo) y otra que la que contienes los datos personales, nombre, apellido, direccion, correo, entre otros y quiero actualizarlos en un mismo formulario, diganme si sugieren algo mejor, que no sea unir los datos de las dos tablas en una sola. De ante mano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar