Cita:
Iniciado por maycolalvarez dices que si le quitas el PK, puede que no tengas el atributo AUTO INCREMENT en MySQL para que automáticamente te asigne el PK secuencial, recuerda que el PK es único y requerido.
por otro lado no se deben usar peticiones GET para hacer operaciones de modificación o borrado de registros, has de usar POST, GET es para leer
Estimados,
yo tengo un problema similar. Estoy utilizando javascript para llenar una grid y al momento de presionar el boton guardar, no envia los datos a la tabla mysql. He aqui el codigo de javascript
:
<link rel="stylesheet" type="text/css" href="../../grid/gt_grid.css" />
<link rel="stylesheet" type="text/css" href="../../grid/skin/vista/skinstyle.css" />
<script type="text/javascript" src="../../grid/gt_msg_en.js"></script>
<script type="text/javascript" src="../../grid/gt_grid_all.js"></script>
<script type="text/javascript" src="../../grid/flashchart/fusioncharts/FusionCharts.js"></script>
<script type="text/javascript" src="../../grid/calendar/calendar.js"></script>
<script type="text/javascript" src="../../grid/calendar/calendar-setup.js"></script>
<script type="text/javascript" >
var grid_demo_id = "myGrid1";
var dsOption= {
fields :[
{name : 'NO_CIA' },
{name : 'RME_COD' },
{name : 'DST_COD', type: 'integer' },
{name : 'FECHA', type:'date' },
{name : 'RU_COD' },
{name : 'CDI_COD' },
{name : 'NO_CLIENTE' ,type: 'integer' },
{name : 'NO_LINEA' ,type: 'integer' },
{name : 'NO_DOCU' },
{name : 'BULTO', type: 'integer'},
{name : 'PESO_KG', type: 'float'},
{name : 'ESTADO' }
],
recordType : 'object'
}
var colsOption = [
{id: 'NO_CIA' , header: "No_CIA" , width :60 },
{id: 'RME_COD' , header: "# Remision" , width :80 , editor:{type:'text'}},
{id: 'DST_COD' , header: "Destinatario" , width :70, width :80 , editor : { type :"select" ,options : {'0': '0' ,'FR':'FR', 'BR':'BR'} ,defaultText : '0' } },
{id: 'FECHA' , header: "Fecha" , width :80, width :80 , editor:{type: "date"}},
{id: 'RU_COD' , header: "Ruta" , width :60, width :80 , editor: { type :"selected" ,options :{'RU01': 'RU01'}, defaultText : 'RU01'}},
{id: 'CDI_COD' , header: "CEDI" , width :60, width :80 , editor: { type :"selected" ,options : {'CD01': 'CD01'}, defaultText : 'CD01' }},
{id: 'NO_CLIENTE' , header: "Cliente" , width :60, width :80 , editor: { type :"text" ,validRule : ['R', 'F'] }},
{id: 'NO_LINEA' , header: "Linea" , width :60, width :80 , editor: { type :"text" ,validRule : ['R', 'F']}},
{id: 'NO_DOCU' , header: "Factura" , width :60, width :80 , editor: { type :"text" }},
{id: 'BULTO' , header: "Bulto" , width :60, width :80 , editor: { type :"text" ,validRule : ['R', 'F'] }},
{id: 'PESO_KG' , header: "Peso (Kg)" , width :60, width :80 , editor: { type :"text" ,validRule : ['R', 'F']}},
{id: 'ESTADO' , header: "Estado" , width :100, editor: { type :"text" }}
];
var gridOption={
id : grid_demo_id,
loadURL : 'Controller.php',
saveURL : 'Controller.php',
width: "700", //"100%", // 700,
height: "200", //"100%", // 330,
container : 'gridbox',
replaceContainer : true,
encoding : 'UTF-8', // Sigma.$encoding(),
dataset : dsOption ,
columns : colsOption ,
clickStartEdit : true ,
defaultRecord : {'NO_CIA':"01",'RME_COD':"",'DST_COD':"0",'FECHA': "2012-03-12",'RU_COD':"RU01",'CDI_COD':"CD1",'NO_CLIENTE':1 ,'NO_LINEA':1,'NO_DOCU':"",'BULTO':0,'PESO_KG':0, 'ESTADO':"R"},
pageSize:100,
toolbarContent : 'reload | add del save | print'
};
var mygrid=new Sigma.Grid( gridOption );
Sigma.Util.onLoad(function(){mygrid.render()});
//////////////////////////////////////////////////////////
</script>
y este es mi codigo php, controller.php en donde hago el insert into:
<?php
include_once("../ConnectionManager.php");
header('Content-type:text/javascript;charset=UTF-8');
$json=json_decode(stripslashes($_POST["_gt_json"]));
//$pageNo = $json->{'pageInfo'}->{'pageNum'};
$conManager = new ConManager();
$conManager->getConnection();
if($json->{'action'} == 'load'){
$sql = "select * from opc_rme";
$handle = mysql_query($sql);
$retArray = array();
while ($row = mysql_fetch_object($handle)) {
$retArray[] = $row;
}
$data = json_encode($retArray);
$ret = "{data:" . $data .",\n";
$ret .= "recordType : 'object'}";
echo $ret;
}else if($json->{'action'} == 'save'){
$sql = "";
$params = array();
$errors = "";
//deal with those deleted
$deletedRecords = $json->{'deletedRecords'};
foreach ($deletedRecords as $value){
$params[] = $value->NO_CIA;
}
$sql = "delete from opc_rme where NO_CIA in (" . join(",", $params) . ")";//orders
if(mysql_query($sql)==FALSE){
$errors .= mysql_error();
}
//deal with those updated
$sql = "";
$updatedRecords = $json->{'updatedRecords'};
foreach ($updatedRecords as $value){
$sql = "update `opc_rme` set ".
"`NO_CIA`='".$value->NO_CIA . "', ".
"`RME_COD`='".$value->RME_COD . "', ".
"`DST_COD`='".$value->DST_COD . "', ".
"`FECHA`=".$value->FECHA . ", ".
"`RU_COD`=".$value->RU_COD . ", ".
"`CDI_COD`=".$value->CDI_COD . ", ".
"`NO_CLIENTE`=".$value->NO_CLIENTE . ", ".
"`NO_LINEA`='".$value->NO_LINEA . "' ".
"`NO_DOCU`=".$value->NO_DOCU . ", ".
"`BULTO`=".$value->BULTO . ", ".
"`PESO_KG`=".$value->PESO_KG . ", ".
"`ESTADO`=".$value->ESTADO . ", ".
"where `NO_CIA`=".$value->NO_CIA;
if(mysql_query($sql)==FALSE){
$errors .= mysql_error();
}
}
//deal with those inserted
$sql = "";
$insertedRecords = $json->{'insertedRecords'};
foreach ($insertedRecords as $value){
$sql = "insert into rme_cod (`NO_CIA`, `RME_COD`, `DST_COD`, `FECHA`,`RU_COD`, `CDI_COD`, `NO_CLIENTE`, `NO_LINEA`, `NO_DOCU`, `BULTO`, `PESO_KG`, `ESTADO`) VALUES ('".
$value->NO_CIA."', '".$value->RME_COD."', '".$value->DST_COD."', '".$value->FECHA."', '".$value->RU_COD."', '".$value->CDI_COD."', '".$value->NO_CLIENTE."', '".$value->NO_LINEA."', '".$value->NO_DOCU."', '".$value->BULTO."', '".$value->PESO_KG."', '".$value->ESTADO."')";
if(mysql_query($sql)==FALSE){
$errors .= mysql_error();
}
}
$ret = "{success : true,exception:''}";
echo $ret;
}
?>
Sumamente agradecido por sus comentarios