Foro

problemas al guardar registro, ME DUPLICA LOS DATOS

0
estoy tendiendo un problema con una consulta, a la hora de guardar el registro se me duplican los datos, y no entiendo el por q, estoy trabajando con Ext JS 3.4.0, este registro lo hago con 2 estore ya q tengo una tabla PERSONA relacionada con otro tabla SALA STORES var storeUsuarios=new Ext.data.JsonStore({ url:'getPersona', root:'Persona', fields:['idpersona','nombre','apellido','cedula','cargo','Sala_idSala','nombre_sala','num_sala'] }); var storeSala=new Ext.data.JsonStore({ url:'getSala', root:'Sala', fields:['idSala','Num_Sala','Nombre_Sala','Descripcion'] }); NOTA: el store de la sala lo uso para llenar un combo, indicando el numero de la sala ---------------------------------------------------------------------------------------------------- EXTJS: este es el panel de guardar ese registro var panelGuardar=new Ext.FormPanel({ title:'Registrar Personal', width:400, height:400, padding:'10px 10px 10px 10px', defaults:{allowBlank:false,msgTarget:'side',width:180,labelWidth:180}, buttonAlign:'center', items:[ {xtype:'textfield',fieldLabel:'Cedula',id:'cedula',maskRe:/[0-9]/i}, {xtype:'textfield',fieldLabel:'Nombre',id:'nombre',maskRe:/[a-z]/i}, {xtype:'textfield',fieldLabel:'Apellido',id:'apellido',maskRe:/[a-z]/i}, { xtype:'combo', fieldLabel:'Cargo', id:'cargo', store:tipoCargo, displayField:'cargos', valueField:'cargos', triggerAction:'all', mode:'local', editable:false, name:'cargo', emptyText:'Seleccione' }, { xtype:'combo', fieldLabel:'Sala', id:'Sala', store:storeSala, mode:'remote', triggerAction:'all', valueField:'idSala', displayField:'Num_Sala', hiddenName:'idSala', forceSelection:true, emptyText:'Seleccione', editable:false, sortable:true } ], buttons:[ { text:'Guardar', handler:function() { if(panelGuardar.getForm().isValid()) { panelGuardar.getForm().submit({ url:'guardarPersona', waitMsg:'Guardando...', success:function(){ JOptionPaneInformation('Se ha registrado la persona'); panelGuardar.getForm().reset(); storeUsuarios.load(); storeSala.load(); },failure:function(){ JOptionPaneErrorMessage('Hubo un error Registrando sus datos'); } }); }else { JOptionPaneWarningMessage('Debe llenar todos los campos'); } } }, { text:'Cancelar', handler:function(){ panelGuardar.getForm().reset(); } } ] }); ---------------------------------------------------------------------------------------------------- CREATE TABLE `persona` ( `idPersona` int(11) NOT NULL auto_increment, `nombre` varchar(45) NOT NULL, `apellido` varchar(45) NOT NULL, `cedula` bigint(20) NOT NULL, `cargo` varchar(45) NOT NULL, `Sala_idSala` int(11) NOT NULL, PRIMARY KEY (`idPersona`), KEY `fk_Persona_Sala1` (`Sala_idSala`), CONSTRAINT `fk_Persona_Sala1` FOREIGN KEY (`Sala_idSala`) REFERENCES `sala` (`idSala`) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=latin1; --------------------------------------------------------------------------------------------------- CREATE TABLE `sala` ( `idSala` int(11) NOT NULL auto_increment, `Num_Sala` int(11) NOT NULL, `nombre_sala` varchar(40) NOT NULL, `descripcion` varchar(100) NOT NULL, PRIMARY KEY (`idSala`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; ________________________________________________________________________________________________________________ ESTA ES LA CONSULTA db="teg_bd"; $obj->conectar($obj->db,$obj->connection); $cedula=$obj->getPost('cedula'); $nombre=strtoupper($obj->getPost('nombre')); $apellido=strtoupper($obj->getPost('apellido')); $cargo=strtoupper($obj->getPost('cargo')); $idSala=strtoupper($obj->getPost('idSala')); $response; $obj->sql="INSERT INTO persona(cedula,nombre,apellido,cargo,Sala_idSala) VALUES($cedula,'$nombre','$apellido','$cargo',$idSala)"; $obj->ejecutar($obj->connection,$obj->sql); $response=array("success"=>"true"); $obj->ejecutar($obj->connection,$obj->sql); echo json_encode($response); ?>

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.