entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

-1voto

DUDA EN UPDATE COMO ACTUALIZAR UN REGISTRO DE 2 TABLAS RELACIONADAS ? EN PHP

AYUDA!!! FECHA DE PUBLICACIÓN: 09/11/2014
Hola algien me podria iluminar tengo una duda esq tengo 2 tablas relacionadas una llamada alumnos y la otra tabla salon estoy usando phpmyadmin y editor dreamweaver uso dos documentos uno documento PHP “actualizar” y el otro documento PHP se llama “Registro” en el documento actualizar tengo este codigo:

//Este codigo es para modificar

$id_salon = $_POST['id_salon'];

$actualizar = sprintf(“update salon INNER JOIN alumno set num_salon=’%s’,nombre=’%s’ WHERE num_salon=%d”, $_POST['num'], $_POST['fechatermino'],$id_salon );

entonces mi duda es aki:
WHERE num_salon=%d” (COMO PUEDO USAR 2 COMODINES %d PARA QUE ME ACTUALIZE LA FILA DE CADA TABLA XQ AKI SOLO ME ACTUALISA UN CAMPO DE UNA TABLA PERO EL OTRO CAMPO QUE ES EL DE LA OTRA TABLA QUE SE LLAMA NOMBRE QUE ES DE LA TABLA ALUMNOS NO LO ACTUALIZA X CONPLETO AL PRESIONAR EL BOTON ACTUALIZAR DE LA TABLA DONDE SE SI ME MUESTRA LOS DATOS A MODIFICAR PERO ALA ORA DE MODIFICARLOS SOLO ME MODIFICA LOS DE UNA TABLA LA OTRA ME MODIFICA TODOS LOS CAMPOS CON EL MISMO NOMBRE QUE SE COLOQUE EN EL CAMPO)este codigo solo me funciona para una tabla no para la otra como le indico que actualize 2 filas de diferente tablas ayuda xfa.

este es el codigo del otro documento php llamado “REGISTRO”:

if ( $id) {
require_once(‘db.php’);
$modificar = sprintf(“select num_salon,nombre from salon inner join alumno on alumno.id_alumno=id_salon WHERE num_salon=%d “,(int)$_GET['id']);

una parte del codigo en el where le estoy indikando la condicion del campo num_salon=$d que es igual ala fila =%d pero komo le koloko otro comodin para indicarle el id_alumno de otra tabla diferente pero ya relacionada .

les agradesco por su conocimiento y su aporte muchas gracias.

0voto

Leonardo-Tadei comentado

Alan, ya ví que tu código no tiene prin()... agregáselo para ver la query que estás ejecutando.
También, tomate un rato pare releer todo este post y comprenderlo: estás varias veces respondiendo cosas sin sentido en vez de las 2 cosas que te estamos pidiendo :-(

0voto

Alan comentado

ok espero no equibocarme :

prin(“select numsalon,nombre from salon inner join alumno on alumno.idalumno=idsalon WHERE numsalon=%d “,(int)$GET['id']);enter CODE heremysqlselectdb($dbpro, $pro);
$result = mysqlquery($modificar, $pro) or die(mysql_error());)

cambie el sprintf x prin() es correcto asii?

0voto

Leonardo-Tadei comentado

Lo siento Alan, no soy capaz de ayudarte: no hacés absolutamente nada de lo que se te pide para poder determinar el problema. :-(
Saludos cordiales.

0voto

Alan comentado

hola leonardo
No es mi intencion no hacer lo q me pides lo q pasa es que no entiendo lo del codigo q me piden q publique para poder ayudarme soy nuevo en esto solo te pido que seas un poco mas especifico ya que todos tienen diferente forma de escribir los adgorismos o el codigo php espero me entiendas amigo y me sigas ayudando .

saludos!!

1voto

carlossevi comentado

Hola Alan, como te veo bastante perdido en conceptos tan simples como distinguir entre MySQL y PHP, te recomendaría aprender un poco antes de centrarte en problemas concretos como éste que nos consultas. El mismo Leonardo ha recomendado en otras ocasiones un curso que dice es bueno: http://www.freelibros.org/programacion/curso-de-programacion-en-php-con-mysql.html.

Si poder hacer esas distinciones tan básicas, o entender que lo que se te está pidiendo es que compartas el resultado de un print() de una variable en lugar de pegar el código fuente creo que difícilmente vamos a poder ayudarte y esto se va a convertir en una pérdida de tiempo tanto para tí como para nosotros.

Por último, te voy a dar un consejo personal: Cuida la ortografía y presentación de tu mensaje, sobre todo si pides ayuda. Repasa un poco la redacción, elimina los párrafos en máyusculas y trata de que el código que compartes se formatee correctamente. Si tu no inviertes el tiempo en estos detalles no deberías pretender que el resto de gente lo haga en tratar de ayudarte, y mucho menos en intentar descifrar lo que quieres decir.

Un saludo y espero que nos sigamos leyendo.

1 Respuesta

2votos

Leonardo-Tadei Puntos227320

Ejecutá 2 UPDATE, uno para cada tabla.

Las relaciones entre tablas, ya sean vía claves foráneas o vía integridad referencial, sirven para evitar borrado o modificación de datos relacionados para no perder la integridad de los datos. Desde el punto de vista de editar datos que no sean los de la relación (como es tu caso) o de una inserción, tenés que escribir y ejecutar una query para cada tabla.

UPDATE tabla
SET campo='valor'
WHERE clave=X

y lo mismo para la segunda tabla.

Saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta