MySQL - problemas con update en php

 
Vista:

problemas con update en php

Publicado por Blueprince (1 intervención) el 22/12/2007 04:26:25
buenas necesito ayuda en lo siguiente en una tabla almaceno datos de personas

CEDULA
NOMBRE
APELLIDO
MATERIA_INSCRITA

Y OTROS CAMPOS

EL PROBLEMA ES QUE AQUI PUEDEN HABER REGISTROS CON LA MISMA CEDULA EL MISMO NOMBRE Y EL MISMO APELLIDO PERO CON DISTINTA MATERIA_INSCRITA

AL HACER LA CONSULTA VISUALIZO LOS DATOS DE UNA CEDULA ESPECIFICA Y ME MUESTRA TODAS LAS MATERIAS INSCRITAS DE ESA CEDULA Y SI QUIERO MODIFICAR EL NOMBRE DE UNA DE ESAS MATERIAS AL HACER EL UPDATE ME MODIFICA TODOS REGISTROS DE ESA CEDULA COLOCANDOLE EL MISMO NOMBRE DE MATERIA INSCRITA


LA CONSULTA LA HAGO DE ESTA MANERA Y FUNCIONA PARA LO QUE QUIERO

"SELECT * FROM estudiantes WHERE cedula = '%s' AND cod_mat=%s

LA ACTUALIZACION ES ASI

"UPDATE estudiantes SET email=%s, n1=%s, n2=%s, n3=%s, n4=%s, n5=%s, n6=%s, n7=%s, n8=%s, total=%s WHERE cedula='$cedula' AND cod_mat='$cod_mat'"

SI SE DAN CUENTA DESPUES DEL AND QUIERO MODIFICAR ESPECIFICAMENTE UN REGISTRO QUE CUMPLA LAS DOS CONDICIONES Y NO ME MODIFICA NADA PERO SI LE QUITO DEL AND EN ADELANTE ME MODIFICA TODO LO QUE TENGA DICHA CEDULA Y LO QUE QUIERO ES EXACTAMENTE MODIFICAR LO QUE COINCIDA CON UNA CEDULA Y CON LA METERIA TAMBIEN QUE TENGO MAL?
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

RE:problemas con update en php

Publicado por Salvador Razo (19 intervenciones) el 11/01/2008 08:10:41
bueno, esto para mi ciertamente es un error en tu arquitectura de base de datos, deberías de crear una tabla de personas y una tabla de materias... y las vincules con un id de persona... por otra parte... si ya no piensas moverle mucho, hay dos soluciones que te sacan del aprieto..

1) Añade un campo de ID a esa tabla autonumérico, y lo recuperas y la unica validación que haces será que el id_linea = $id_linea... no crees??

2) Añade en un campo oculto el nombre de la materia anterior.. y el update hazlo tmb con el where materia = $materia_antesupdate_oculta ...

Me explico?? pero brother.. no sirve de nada tener información duplicada... y esta tabla de materias debería de tener:

id_linea, id_persona, id_materia

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