Foros del Web » Programando para Internet » PHP »

Como recupero datos de un Arreglo

Estas en el tema de Como recupero datos de un Arreglo en el foro de PHP en Foros del Web. Hola Es algo sumamente básico pero no he podido dar con el metodo correcto; estoy tratando de pasar un arreglo con varios datos a otra ...
  #1 (permalink)  
Antiguo 15/08/2003, 17:02
Avatar de Alemarch  
Fecha de Ingreso: marzo-2003
Ubicación: mi casa
Mensajes: 20
Antigüedad: 14 años, 8 meses
Puntos: 0
Como recupero datos de un Arreglo

Hola

Es algo sumamente básico pero no he podido dar con el metodo
correcto; estoy tratando de pasar un arreglo con varios datos a
otra funcion a través del método POST, por medio del siguiente código:

[PHP]echo "<input type=\"hidden\" name=\"cod_preg[]\" value=\"$cod_pregunta\">"
PHP]

donde $cod_pregunta es un arreglo que ya contiene varios
elementos. Luego en la función que recibe, uso el siguiente código para rescatar el contenido de "cod_preg[]" y enumerar
sus elementos:

Código PHP:
[COLOR=orangered]$i 1;
$arr_preg=$_POST['cod_preg']; 
foreach (
$arr_preg as $cod_pre
{
  echo 
"$i &nbsp;";
  echo 
"$cod_pre<br>";
  
$i $i 1;
}[/
COLOR
pero sólo obtengo el mensaje siguiente "1 Array "

¿Que estoy haciendo mal? Favor su ayuda, Gracias.

  #2 (permalink)  
Antiguo 15/08/2003, 21:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm .. Pero ese cod_preg que mandas en tu campo hidden al parecer es a su vez un array .. (no es así? ..)

Si es a su vez un array deberias usar:

Código PHP:
foreach ($arr_preg as $cod_pre) {
   foreach(
$cod_pre as $cod){
       echo 
$cod."<br>";
   }
  
$i $i 1;

Tambien tienes la funcion print_r() para ver que tipo de array por ejemplo te está arrojando $_POST (en general) .. Puedes usarlo:

Código PHP:
echo "<pre>";
print_r($_POST)
echo 
"</pre>"
O bien con tu $_POST['cod_pre'] para ver que tipo de array estás generando ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 15/08/2003 a las 21:15
  #3 (permalink)  
Antiguo 15/08/2003, 21:45
Avatar de Alemarch  
Fecha de Ingreso: marzo-2003
Ubicación: mi casa
Mensajes: 20
Antigüedad: 14 años, 8 meses
Puntos: 0


Muchas Gracias Cluster por tu oportuna y acertada respuesta ya que estaba bien enredada .....y no encontraba solucion....................



Gracias
  #4 (permalink)  
Antiguo 16/08/2003, 20:30
Avatar de Alemarch  
Fecha de Ingreso: marzo-2003
Ubicación: mi casa
Mensajes: 20
Antigüedad: 14 años, 8 meses
Puntos: 0
.......Hola Cluster sabes se me presento un problemita al ejecutar asi el codigo me da como resultado un comentario ....................

Al desplegar el arreglo _POST usando el código que me enseñaste:

Código PHP:
echo "<pre>";
print_r($_POST);
echo 
"</pre>"
Obtengo lo siguiente:


Array
(
[ruts_corr] => Array
(
[0] => Array
)
)


pero al tratar de recorrer el sub-arreglo usando el siguiente código:

Código PHP:
$arr_corr=$_POST['ruts_corr']; 
foreach (
$arr_corr as $cod_pre)
{
     foreach(
$cod_pre as $cod)
     {
            echo 
"$cod <br>"
    }

Me entrega el siguiente mensaje de advertencia para la línea
"foreach($cod_pre as $cod)" :


Warning: Invalid argument supplied for foreach()


¿Esto significa que el sub-arreglo no está siendo accesado correctamente o que está sin elementos? ¿Que puede estar yendo mal?

Agradeceré si alguien puede contestar, por favor, sólo necesito una pista. Gracias.
  #5 (permalink)  
Antiguo 18/08/2003, 21:05
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
No, creo que el problema es de concepto... tu lo que estas haciendo en el foreach es entrar a [ruts_corr] y recorrerlo UNO a UNO sus valores... Que YA son valores, no arrays.

Prueba así...

Código PHP:
$arr_corr=$_POST['ruts_corr']; 
foreach (
$arr_corr as $cod_pre)
{

            echo 
"$cod_pre <br>"

Creo que así te va a funcionar como lo esperas.

__________________
Manoloweb
  #6 (permalink)  
Antiguo 18/08/2003, 21:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
De todas formas .. el array está vació (y un foreach "sale" con ese error acerca de argumentos si no hay elementos en el array ..).. así que deberás revisar de donde envias o generas ese array pues te lo está entregando vació (sin elementos como así dá el ejemplo usando print_r() ..)

Si usas PHP 4.1.0 puedes usar $_POST .. si usas versiones anterioes a esa versión deberás usar: $HTTP_POST_VARS en lugar del array superglobal .. Revisalo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:58.