Foros del Web » Programando para Internet » Javascript »

Pasare arreglo de javascript a php

Estas en el tema de Pasare arreglo de javascript a php en el foro de Javascript en Foros del Web. Hola foro. tengo el siguiente problema, tengo este código javascript : Código: var meses = new Array(); var myData = new Array(); for(i=0;i<=vidautil;i++){ if (fecha_mn<10) ...
  #1 (permalink)  
Antiguo 22/01/2010, 10:20
Avatar de Algadar  
Fecha de Ingreso: abril-2009
Mensajes: 115
Antigüedad: 15 años
Puntos: 1
Pasare arreglo de javascript a php

Hola foro.

tengo el siguiente problema, tengo este código javascript:

Código:
	var meses = new Array();
	var myData = new Array();
	
 for(i=0;i<=vidautil;i++){
 	
	if (fecha_mn<10) {
 		meses[i]=fecha_d+"/0"+fecha_mn+"/"+fecha_yn;
	} else {
		meses[i]=fecha_d+"/"+fecha_mn+"/"+fecha_yn;
	}
	
	myData[i]=[meses[i], monto_dep.decimal(2), Acm.decimal(2)];
	fecha_mn=fecha_mn+1;
    Acm=Acm+monto_dep;
	
	if (fecha_mn>12){
		fecha_mn=1;
		fecha_yn=fecha_yn+1;
	}
 }
la variable tipo array $myData necesito pasarla a php para poder hacer un insert en la Bd (MySql), como lo puedo hacer.
De antemano muchas gracias por su colaboración.
  #2 (permalink)  
Antiguo 22/01/2010, 12:54
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Pasare arreglo de javascript a php

Pasandolo a string con el metodo toString()

http://www.w3schools.com/jsref/jsref_tostring_date.asp
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 22/01/2010, 12:57
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Pasare arreglo de javascript a php

¿Piensas pasarla mediante un formulario o por URL (o algún otro método)? Depende de cómo la quieras pasar, pero de todos modos si decides pasarla como cadena necesitas unir los datos del array con un carácter espúreo para éstos (por ejemplo con el método join) para luego rearmar el array en PHP (por ejemplo con la función explode). Si decides pasarla mediante un formulario, puedes añadir campos hidden dinámicamente con el nombre adecuado (usando corchetes para indicar subíndice) para luego leer desde PHP directamente el array. Si tu especificas un poco más yo también podré hacerlo . ¡Suerte!
  #4 (permalink)  
Antiguo 22/01/2010, 12:58
Avatar de Algadar  
Fecha de Ingreso: abril-2009
Mensajes: 115
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasare arreglo de javascript a php

Hola jackson666, por lo que veo en el link que colocaste solo sirve para convertir variables tipo Date a String pero lo que yo tengo es un arreglo que contiene no solo fecha sino datos de varios tipos.
  #5 (permalink)  
Antiguo 22/01/2010, 13:05
Avatar de Algadar  
Fecha de Ingreso: abril-2009
Mensajes: 115
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasare arreglo de javascript a php

Hola dggluz,
lo que sucede es que necesito hacer un insert de todo ese array(), el cual deseaba hacer en esa misma pag. pero creo que me va a tocar hacer una pag. alterna para hacer el insert. correcto?
de ser por formulario me puedes indicar como hacerlo.!

Última edición por Algadar; 22/01/2010 a las 13:13
  #6 (permalink)  
Antiguo 22/01/2010, 14:06
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Pasare arreglo de javascript a php

El método javascript toString() es tanto de objetos Date como de objetos Array(). Sin embargo, equivale a hacer un join(','), con lo cual puede complicarse si en tu array tienes elementos que sean cadenas y puedan contener el carácter coma (,). Debes elegir un carácter espúreo. Si no lo tienes, se complica un poco la cuestión. Una opción que te queda es la del formulario. Debes recorrer el array (con un ciclo for... in) y por cada elemento añadirle un campo hidden a un formulario que ya esté en el DOM (si no sabes hacerlo, este link te puede resultar útil). El nombre de todos esos campos hidden debe ser el mismo, y debe terminar con corchetes ([]). Por ejemplo: myData[]; o bien myData[0] según necesites subíndices o no. Luego hacer un submit del formulario y listo. PHP armará el array $_POST (o $_GET, según el método de tu formulario) y al hacerlo, los datos que pusiste del modo que te indiqué ya se "ubicarán" solitos como un array (el array $_POST['myData'], que es un elemento del array $_POST, no los confundas). Intenta hacerlo por ti mismo. Si tienes algún problema, consulta y te ayudaremos. ¡Suerte!

PD: la única forma (que yo conozca) de pasar datos al servidor sin refrescar la página es con AJAX, quizás te sirva eso.
PD2: ¿cómo que necesitas "hacer un insert de todo ese array()"? Un array no puede guardarse como tal en una base de datos porque las bases de datos no tienen un tipo de datos array (aunque el resource que devuelven en una consulta sea un array multidimensional, no es un tipo de datos que puedas manejar). Es distinto si quieres hacer varios INSERT procesando el array (por ejemplo, uno por cada elemento de éste).
  #7 (permalink)  
Antiguo 22/01/2010, 14:19
Avatar de Algadar  
Fecha de Ingreso: abril-2009
Mensajes: 115
Antigüedad: 15 años
Puntos: 1
Respuesta: Pasare arreglo de javascript a php

dggluz,
Muchas Gracias tu explicación fue de mucha ayuda y con respecto a lo del insert efectivamente quizás no me explique bien; deseo hacer un insert por cada registro que contiene el array() ya eso lo tengo armado.

Gracias.

Etiquetas: php, arreglos
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 08:12.