problemas al guardar registro, ME DUPLICA LOS DATOS
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.