Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

JSON, Jquery, PHP -> MySQL

Estas en el tema de JSON, Jquery, PHP -> MySQL en el foro de Mysql en Foros del Web. Buenas, como andan. El problema que tengo va pasando por varios subgrupos del foro asi que no sabia bien donde ubicarlo. Como todo termina en ...
  #1 (permalink)  
Antiguo 11/06/2012, 12:57
 
Fecha de Ingreso: mayo-2012
Mensajes: 20
Antigüedad: 12 años
Puntos: 2
JSON, Jquery, PHP -> MySQL

Buenas, como andan.
El problema que tengo va pasando por varios subgrupos del foro asi que no sabia bien donde ubicarlo. Como todo termina en SQL (y ahi es donde mas errores se producen) me decidi por este, perdon si le erré.

Empiezo:
Tengo la siguiente funcion en JavaScript (JQuery) que basicamente lo que hace es armar un JSON con algunas variables y enviarlas por AJAX a un archivo PHP:

Código:
function registrar(){
	eventoJSON = {
			"dato1" : variable1,
			"dato2" : variable2,
			"titulo" : $('#tituloReg').attr('value'),
			"descripcion" : $('#descReg').attr('value')

                       //Aclaracion, variable1 y variable2, son variables con numeros decimales
 
	};
	
	$.ajax({
		  type: "POST",
		  dataType: "json",
		  url: "funcionSQL.php",
		  data: eventoJSON})
		.done(function() {alert("done");})
		.fail(function() {alert("fail");});	
};
De ahi sale todo a un archivo que intenta procesar el JSON y guardarlo dentro de una base de datos (omito la conexion que si esta bien echa porque guarda cosas, pero no las correctas):

Código PHP:
$eventoJSON json_decode($_POST);
$fecha date("Y-m-d H:i:s");
mysql_query("insert into datos(dato1, dato2, Titulo, Descripcion, Fecha, Vencimiento, VIP, ID_Usuario) values ('$eventoJSON.dato1', '$_POST[dato2]', '$eventoJSON->titulo', '$_POST[descripcion]', '$fecha', '$fecha', '1', '1234', 'arreglar')"$conexion);
mysql_close($conexion); 
Los value estan de diferentes formas, porque esas son las variantes que fui encontrando de como podia referenciar los distintos valores del JSON (En el caso en que se usa $_POST['xxx'], no deberia hacerse el decode. Igualmente no funciona asi tampoco)

El problema es que todo lo que se envia como JSON, no queda guardado. De echo, la funcion en ajax devuelve fail entre las dos opciones que tiene.

La conexion y todo lo demas esta bien porque el resultado las variables $fecha, y los valores que siguen (1, 1234, arreglar) se almacenan correctamente.
Asi que asumi que el error estaba en la forma de leer el JSON, pero despues de dar muchas vueltas, no consegui resultados.
Espero me puedan ayudar.

Saludos
  #2 (permalink)  
Antiguo 11/06/2012, 13:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: JSON, Jquery, PHP -> MySQL

Empecemos por lo que realmente abarca el tema del Foro: MySQL y esencialmente QSL.
Tienes un error en el INSERT:
Código MySQL:
Ver original
  1. insert into datos(
  2.     dato1,
  3.     dato2,
  4.     Titulo,
  5.     Descripcion,
  6.     Fecha,
  7.     Vencimiento,
  8.     VIP,
  9.     ID_Usuario)
  10.     '$eventoJSON.dato1',
  11.     '$_POST[dato2]',
  12.     '$eventoJSON->titulo',
  13.     '$_POST[descripcion]',
  14.     '$fecha',
  15.     '$fecha',
  16.     '1',
  17.     '1234',
  18.     'arreglar')
Estás indicando 8 campos y mandando 9 datos...

El JSON no es tema de este foro (más bien puede que JavaScript), pero sin saber cómo está compuesto el valor JSON, no podemos anticipar o negar que no esté incluyendo errores en el string del INSERT.
El uso de variables complica cualquier análisis. Precisamente es una de las razones por las que no está permitido poner código de programación en este foro o el de Base de Datos... No es fiable y esconde problemas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 11/06/2012, 13:39
 
Fecha de Ingreso: mayo-2012
Mensajes: 20
Antigüedad: 12 años
Puntos: 2
Respuesta: JSON, Jquery, PHP -> MySQL

Si, el error en el insert fue porque descarte un valor cuando lo pasaba al foro y me olvide de sacar tambien cuanto valia. Perfecto, rehago la pregunta en otro lugar entonces (o porque no, podrian mover este tema y seria mas sencillo) y muchas gracias.

Los primeros dos valores son numeros con decimales (positivos y negativos, de echo esta aclarado) y los otros dos son el atributo value de dos insert tipo texto, asi que son strings. El problema es que ninguno "llega" a la base de datos (estos 4 campos quedan vacios, los demas no).
Supongo que el error estan en la transformacion a PHP.
  #4 (permalink)  
Antiguo 11/06/2012, 14:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: JSON, Jquery, PHP -> MySQL

Haz una cosa: Recupera el string creado antes de mandarlo en una variable y postealo aca. Veremos qué es lo que realmente estás mandando. Puede haber errores de tipo de dato que o se vean en el codigo
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: jquery, json, php, sql
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 03:33.