Foros del Web » Programando para Internet » Javascript »

Almacenar datos en tabla mysql

Estas en el tema de Almacenar datos en tabla mysql en el foro de Javascript en Foros del Web. Buen día estoy teniendo problemas para almacenar información en una tabla MYSQL desde javascript. Utilizo una función para mandar los datos hacia un archivo PHP, ...
  #1 (permalink)  
Antiguo 08/03/2012, 10:16
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 4
Almacenar datos en tabla mysql

Buen día

estoy teniendo problemas para almacenar información en una tabla MYSQL desde javascript.
Utilizo una función para mandar los datos hacia un archivo PHP, el detalle es que cuando oprimo mi botón guardar no los almacena, solo almacena el primer registro, si le quito la llave primaria a mi TABLA el código funciona de forma normal,

este es mi código:

Código:
function guardaPrueba(){

var v1= ["Name"];
var v2 = ["hijos"];

 for(i=0; i<=3; i++){
 
 request = createRequest();
   if (request == null){
        alert('Error en la peticion, intentalo de nuevo');
     return; 
    } 
	
	url = "guardaprueba.php?nombre=" + v1[i] + "&descripcion=" + v2[i] + "&id=" +i;
 
 request.onreadystatechange = peticion3;
	request.open("GET", url, true);
	request.send(null);
 }

}
No logro comprender porque no funciona
  #2 (permalink)  
Antiguo 08/03/2012, 12:35
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Almacenar datos en tabla mysql

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
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 13/03/2012, 11:00
 
Fecha de Ingreso: marzo-2012
Mensajes: 1
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Almacenar datos en tabla mysql

Cita:
Iniciado por maycolalvarez Ver Mensaje
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
  #4 (permalink)  
Antiguo 13/03/2012, 13:47
Avatar de liloo6retug  
Fecha de Ingreso: junio-2010
Ubicación: Marsella
Mensajes: 109
Antigüedad: 13 años, 10 meses
Puntos: 11
Respuesta: Almacenar datos en tabla mysql

Cita:
Iniciado por Bernoo Ver Mensaje
Buen día

estoy teniendo problemas para almacenar información en una tabla MYSQL desde javascript.

Utilizo una función para mandar los datos hacia un archivo PHP, el detalle es que cuando oprimo mi botón guardar no los almacena, solo almacena el primer registro, si le quito la llave primaria a mi TABLA el código funciona de forma normal,

No logro comprender porque no funciona
Como es la sentencia SQL para guardar los datos..
y como es tu tabla

Etiquetas: almacenar, funcion, mysql, php, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:06.