Foros del Web » Programando para Internet » Javascript »

Devolver un array php a javascript

Estas en el tema de Devolver un array php a javascript en el foro de Javascript en Foros del Web. Buen dia, tengo tiempo consultando el foro, que me parece de lo mejor que hay en la web, asi que decidi registrarme para no solo ...
  #1 (permalink)  
Antiguo 29/08/2012, 11:44
 
Fecha de Ingreso: agosto-2012
Ubicación: MADERO, COAHUILA
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Devolver un array php a javascript

Buen dia, tengo tiempo consultando el foro, que me parece de lo mejor que hay en la web, asi que decidi registrarme para no solo estar de miron, espero y me puedan dar una mano, ya anduve buscando por todos lado y no encuentro la solucion.

problema:
tengo una pagina con javascript que envia una clave de articulo a otra pagina php para hacer una consulta a una base de datos (firebird), php me devuelve el arreglo de la consulta pero no se como capearlo devuelta a javascript y manejarlo como arreglo.
estoy usando mootools-core-1.3.2-full-compat-yc.js

esta es la funcion javascript

Código:
function validaCve(){
    var Cve_Articulo1=document.getElementById("codigo_art").value;
    
    var miAjax = new Request({
			url: "BuscaNombre2.php",
			data: "Cve_Articulo="+Cve_Articulo1,
			onSuccess: function(textoRespuesta){
				//consulta=new Array(4);
				
				//consulta=textoRespuesta;
				//alert(textoRespuesta.NOMBRE);
				//  alert(consulta);
				$('detalle').set("html", textoRespuesta);
				
			},
			onFailure: function(){
				$('detalle').set("html", "Fallo al obtener el Nombre del Articulo");
			}
		})
		miAjax.send();
    }//fin de funcion validaCve
este es BuscaNombre2.php


Código PHP:
$claveart=$_POST['Cve_Articulo'];
$conn ibase_connect("192.168.2.1:/Datos/BdeD.FDB","SYSDBA","masterkey");
$qry "SELECT A.NOMBRE, B.CLAVE_ARTICULO, A.UNIDAD_VENTA, A.UNIDAD_COMPRA, A.ARTICULO_ID FROM ARTICULOS A LEFT OUTER JOIN CLAVES_ARTICULOS B ON B.ARTICULO_ID = A.ARTICULO_ID WHERE B.CLAVE_ARTICULO = '$claveart'";
$consulta=ibase_query($conn,$qry) or die ("error de conexion con la base de datos");
$registro=  ibase_fetch_row($consulta);
$nombre=$DATOS[0];
if(
$DATOS[1]!="")
{
   
// echo json_encode($registro);
    
echo $nombre;
}
// 

si imprimo solo la variable nombre si me la imprime en el div pero no se como devolver el arreglo completo, por favor me pueden ayudar a encontrar la luz...
  #2 (permalink)  
Antiguo 29/08/2012, 11:58
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Devolver un array php a javascript

con JSON es la mejor opción, no entiendo porque lo comentaste
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 29/08/2012, 12:22
 
Fecha de Ingreso: agosto-2012
Ubicación: MADERO, COAHUILA
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Devolver un array php a javascript

Lo comente porque ya me hice bolas tengo varios dias con esto y no doy. pero del lado javascript como lo capturo para manejarlo, gracias por tu interes.
  #4 (permalink)  
Antiguo 29/08/2012, 13:29
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Devolver un array php a javascript

simple, mootools debe de tener un Parser JSON, devuelves un JSON desde PHP el cual mootols convierte en objeto JSON el cual puedes recorrer ya sea que lo devuelvas como una colección o array de elementos, definitivamente tienes que leer más acerca de JSON y el potencial que le puedes sacar
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 29/08/2012, 13:37
 
Fecha de Ingreso: agosto-2012
Ubicación: MADERO, COAHUILA
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Devolver un array php a javascript

OK gracias, dejame leer algomas de JSON e investigar como lo maneja MOOTOOLS, y les cuento como me va, de nuevo gracias...
  #6 (permalink)  
Antiguo 10/09/2012, 15:27
 
Fecha de Ingreso: agosto-2012
Ubicación: MADERO, COAHUILA
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Devolver un array php a javascript

Ya he logrado pasar el array he aqui la funcion:

funcion javascript:
Código:
function validaCve(){
    var Cve_Articulo1=document.getElementById("codigo_art").value;
    
    var miAjax = new Request({
			url: "BuscaNombre2.php",
			data: "Cve_Articulo="+Cve_Articulo1,
			onSuccess: function(textoRespuesta){
				
				//--------------------------------
				
				var Array_Json= JSON.decode(textoRespuesta);
				//--------------------------------
				
				$('detalle').set("html", Array_Json[0]);
				
			},
			onFailure: function(){
				$('detalle').set("html", "Fallo al obtener el Nombre del Articulo");
			}
		})
		miAjax.send();
		
    }//fin de funcion validaCve
BuscaNombre2.php

Código PHP:
$claveart=$_POST['Cve_Articulo'];
$conn ibase_connect("192.168.2.1:/Datos/BdeD.FDB","SYSDBA","masterkey");
$qry "SELECT A.NOMBRE, B.CLAVE_ARTICULO, A.UNIDAD_VENTA, A.UNIDAD_COMPRA, A.ARTICULO_ID FROM ARTICULOS A LEFT OUTER JOIN CLAVES_ARTICULOS B ON B.ARTICULO_ID = A.ARTICULO_ID WHERE B.CLAVE_ARTICULO = '$claveart'";
$consulta=ibase_query($conn,$qry) or die ("error de conexion con la base de datos");
$registro=  ibase_fetch_row($consulta);
$nombre=$DATOS[0];
if(
$DATOS[1]!="")
{
   echo 
json_encode($DATOS);
 
}
// 
ahora mi duda es como manejo el arreglo , cuando la consulta me devuelva mas de 1 renglon, algo asi como: $('detalle').set("html", Array_Json[1][4]); no se cual es la forma correcta para mostrarlo ya que lo intente de esta manera y no me funciona, de antemano gracias por la orientacion y ayuda prestada, saludos...

Etiquetas: ajax, devolver, funcion, html, js, php, select
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:30.