Foros del Web » Programando para Internet » PHP »

No puedo recorrer arrays

Estas en el tema de No puedo recorrer arrays en el foro de PHP en Foros del Web. Hola, tengo un problema con la carga y recorrido de un array, lo cargo de la siguiente manera: $cuota[$contDatos] = $Adeuda["cuota"]; La lìnea esta dentro ...
  #1 (permalink)  
Antiguo 12/05/2006, 09:12
 
Fecha de Ingreso: noviembre-2004
Mensajes: 31
Antigüedad: 13 años, 1 mes
Puntos: 0
No puedo recorrer arrays

Hola, tengo un problema con la carga y recorrido de un array, lo cargo de la siguiente manera:


$cuota[$contDatos] = $Adeuda["cuota"];

La lìnea esta dentro de un bucle, donde se carga los datos de una consulta SQL, la variable $contDatos se va incrementando por cada vueltya del bucle en una unidad. y comienza en 0;


Luego mas abajo quiero imprimirlo y solo me muestra el ultimo registro, wl codigo es el siguiente:


for ($i=0; $i <= $contDatos; $i++)
{
echo $cuota[$i];
}


Esta prueba sencilla la hice, porque no me pasaba el array bien como parametro en un vinculo, entonces me queria fijar si el array lo cargaba bien antes de pasarlo al otro formulario, pero en realidad lo pasaba mal porque hay problemas con la carga.


Si alguien me puede ayudar se lo agradezco mucho.


Saludos!!
  #2 (permalink)  
Antiguo 12/05/2006, 09:26
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
A primera vista parece que cuando generas el arreglo no se incrementa el contador, y lo único que haces es sobreescribir los datos que ingresante anteriomente. Deberias mostrar el código completo para ver bien cual es el problema.
Un consejo: para recorrer una arreglo, podrías utilizar la construcción foreach en lugar de un for :

Código PHP:
<?
foreach ($cuota as $valor)
{
echo 
$valor;
}
?>
Otro consejo: para mostrar por pantalla el contenido de una arreglo de forma fácil podrias utilizar la función print_r().
Saludos.
  #3 (permalink)  
Antiguo 15/05/2006, 08:40
 
Fecha de Ingreso: noviembre-2004
Mensajes: 31
Antigüedad: 13 años, 1 mes
Puntos: 0
Funciono!!

Muchas gracias por tu ayuda, funcionó correctamente tu sugerencia, no me estaba cargando el vector de manera correcta, porque el índice no se incrementaba.


Saludos!!
  #4 (permalink)  
Antiguo 16/05/2006, 08:39
 
Fecha de Ingreso: noviembre-2004
Mensajes: 31
Antigüedad: 13 años, 1 mes
Puntos: 0
No puedo pasar como parametro el array a otro formulario

No puedo pasar como parametro el array, lo carga de manera correcta, perocuando lo paso por parametro de la siguiente manera no me funciona:


<p align="center"> <a href="prueba.php?cuota=<?php echo $cuota;?>&cont=<?php echo $contDatos;?>">enviar </a></p>

$cuota es el array, sin embargo $contDatos es la variable contador, ésta la pasa correctamente.

En el formulario prueba.php lo intento mostrar de la siguiente manera:

for ($i=0; $i < $contDatos; $i++)
{
echo $cuota[$i];
}


Si me pueden dar una mano se lo agradezco mucho.

Gracias
  #5 (permalink)  
Antiguo 16/05/2006, 08:49
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
No se puede pasar un arreglo "directamente" por GET, ya que es una estructura que tiene más de un valor. Tedrias que "serializar" estos valores antes de pasarlos por GET. En las FAQs se explica como se puede hacer:

http://www.forosdelweb.com/f18/faqs-php-530600-post262072/

También podés utilizar la función http_build_query() si utilizás PHP 5, pero tené en cuenta que podrias tener problemas al portar tu script a otro servidor.
Saludos.
  #6 (permalink)  
Antiguo 16/05/2006, 11:01
 
Fecha de Ingreso: noviembre-2004
Mensajes: 31
Antigüedad: 13 años, 1 mes
Puntos: 0
De esta manera?

Tendría que crear una variable de tipo String, concatenando los valores del array, y luego aplicarle un SPLIT en el otro formulario para poder recompilar la informacion de nuevo?
  #7 (permalink)  
Antiguo 16/05/2006, 11:11
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
En las FAQ que te indique esta bien explicado lo que pretendes hacer (con un ejemplo también). Aunque no se si la habrás encontrado porque me equivoque al poner el link . Ahí va de nuevo:

http://www.forosdelweb.com/showthrea...072#post262072

Saludos.
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 00:39.