Foros del Web » Programando para Internet » PHP »

Problema al interpretar un arreglo..

Estas en el tema de Problema al interpretar un arreglo.. en el foro de PHP en Foros del Web. buenas amigos! El problema que tengo es q armo un arreglo y lo envio con js.. la variable llega bien al archivo php, sin embargo ...
  #1 (permalink)  
Antiguo 27/10/2010, 08:17
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 11 años
Puntos: 63
Exclamación Problema al interpretar un arreglo..

buenas amigos!

El problema que tengo es q armo un arreglo y lo envio con js..
la variable llega bien al archivo php, sin embargo no entiendo porque no puedo interpretarlo normalmente.. $variable[0] algo asi...

La pregunta es, ¿si llega como un [object HTMLCollection] como debo recibirlo?

Porque solo quiero tomar cada dato q contenga.. (Puede tener maximo 9) y guardarlos todos en un mismo campo de base de datos..

asi formo el arreglo..

Código Javascript:
Ver original
  1. if(integrantes!=""){data+="&integrantes="+integrantes;}else{falla+= coma+" Integrantes";coma=",";si=0;}

Cualquier otra cosa me dicen! muchas gracias de antemano..
  #2 (permalink)  
Antiguo 27/10/2010, 08:18
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 11 años, 7 meses
Puntos: 334
Respuesta: Problema al interpretar un arreglo..

envialo desde Javascript a PHP con formato JSON
y en php lo recibes con json_decode() y luego de eso
podrás interactuar con el array

saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 27/10/2010, 08:31
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 11 años
Puntos: 63
Exclamación Respuesta: Problema al interpretar un arreglo..

mmm bueno, mi idea era hacerlo algo mas simple.. porq yo lo mando por $_GET con AJAX entonces alla solo le hago un extract y tengo mis variables en php directamente.. lo q no entiendo es porq no lo puedo mostrar de este modo, por ejemplo:

Código PHP:
Ver original
  1. if($_GET){
  2.         extract($_GET);
  3.        
  4.         //echo $integrantes;
  5.         $i=0;
  6.        
  7.         while($integrantes){
  8.            
  9.             echo $integrantes[$i];
  10.            
  11.             $i++;
  12.         }
  13. }
  #4 (permalink)  
Antiguo 27/10/2010, 08:36
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 11 años, 7 meses
Puntos: 334
Respuesta: Problema al interpretar un arreglo..

el array como si es un objeto... y por get solo pasas un string... por eso para que funcione puedes enviar con formato json como te indique
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 27/10/2010, 08:44
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 11 años
Puntos: 63
Exclamación Respuesta: Problema al interpretar un arreglo..

bueno.. dejame darte paso por paso... lo primero q hago es tomar los datos y armar una url q envio con ajax de este modo:

Código Javascript:
Ver original
  1. function guardar(){
  2.    
  3.     var data="";
  4.     var falla="";
  5.     si=1;
  6.     coma="";
  7.     nombre=document.getElementById('nombre_band').value;
  8.     telefono=document.getElementById('telef_band').value;
  9.     email=document.getElementById('email_band').value;
  10.     website=document.getElementById('website_band').value;
  11.     influencias=document.getElementById('influencias_band').value;
  12.     bio=document.getElementById('bio_band').value;
  13.     misc=document.getElementById('misc_band').value;
  14.     genero=document.getElementById('genero_band').value;
  15.     integrantes=document.getElementsByName('integrantes[]');
  16.     var n= 0;
  17.     if(nombre!=""){ data+="&nombre="+nombre; }else{ falla= " Nombre de la Propuesta"; si=0; coma=",";}
  18.     if(telefono!=""){ data+="&telefono="+telefono; }else{   falla+= coma+" Tel\xe9fono"; si=0; coma=",";}
  19.     if(email!=""){data+="&email="+email; }else{falla+= coma+" Email";coma=",";si=0;}
  20.     if(website!=""){data+="&website="+website; }
  21.     if(influencias!=""){data+="&influencias="+influencias; }
  22.     if(genero!=0){data+="&genero="+genero;}else{falla+= coma+" G\xe9nero";coma=",";si=0;}
  23.     if(bio!=""){data+="&bio="+bio;}
  24.     if(misc!=""){   data+="&misc="+misc;}
  25.     if(integrantes!=""){data+="&integrantes="+integrantes;}else{falla+= coma+" Integrantes";coma=",";si=0;}
  26.     if(i==0){falla+= coma+" Integrantes";coma=",";si=0;}
  27.         alert(data);
  28.     if((si==1)&&(i!=0)){
  29.         url="cont_musica/register_response.php?guarda=1"+data;
  30.         //alert(url);
  31.         llamarasincrono (url, 'form_banda');
  32.     }else{
  33.         alert("Todos los Campos son Obligatorios. Falta:"+falla+".");
  34.     }
  35.    
  36. }

luego envio todos los datos en una url como esta:

&nombre=dfn&telefono=dfn&email=ndfgn&website=nfgnf g&influencias=dfndfgnfdngf&genero=2&bio=dfgnd&misc =fgndfngdfn&integrantes[]=[object HTMLCollection]

y en el php recibo de este modo:

Código PHP:
Ver original
  1. if($_GET){
  2.         extract($_GET);
  3.        
  4.         //echo $integrantes;
  5.         $i=0;
  6.        
  7.         while($integrantes){
  8.            
  9.             echo $integrantes[$i];
  10.            
  11.             $i++;
  12.         }
  13.         //$sql="INSERT INTO m_artista (nombre_artista, telefono_artista, email_artista, influencia_artista, historia_artista, descripcion_artista, id_genero, integrante_artista, status_artista, fecha_hora_artista)VALUES('".$nombre."','".$telefono."','".$email."','".$influencias."','".$bio."','".$misc."','".$genero."','".$integrantes."', '0', '".date()."'";
  14.        
  15.     //$idband = mysql_insert_id();     
  16.        
  17.         //include("../include/creaHTML.php");
  18.     }

los datos con los q formo el arreglo provienen de varios input text como este:

<input type="text" name="integrantes[]" id="integrantes[]" />

entonces.. no entiendo porq no lo puedo interpretar de otro modo mas sencillo...
  #6 (permalink)  
Antiguo 27/10/2010, 09:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 13 años, 2 meses
Puntos: 2534
Respuesta: Problema al interpretar un arreglo..

por el amor de Javascript!!

estas cometiendo menda barbarie, la variable integrantes devuelve un objeto DOM en Javascript, y de ninguna manera puedes pasarla por URL así no mas por que se te antojo...

en todo caso lo mejor es que uses las notaciones estándar, JSON como ya te vienen diciendo desde un principio... ¿por que eres tan terco?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: 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 23:31.