Foros del Web » Programando para Internet » PHP »

Problema Imprimiendo Array

Estas en el tema de Problema Imprimiendo Array en el foro de PHP en Foros del Web. Mi problema es el siguiente: Resulta que tengo un archivo, llamado multifile.php (no terminado), que es para subir múltiples archivos a la vez, aunque en ...
  #1 (permalink)  
Antiguo 16/03/2005, 15:40
 
Fecha de Ingreso: enero-2004
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 0
Problema Imprimiendo Array

Mi problema es el siguiente:

Resulta que tengo un archivo, llamado multifile.php (no terminado), que es para subir múltiples archivos a la vez, aunque en realidad, solo lista los archivos a subir, dinámicamente, y también a través de él, se puede eliminar un archivo de la lista. Este archivo, multifile.php, solo contiene las funciones necesarias para ello, y ocupa una plantilla, llamada "agregar_archivo.php" para desplegar los resultados en la pantalla.

En un principio lo hace, pero solo con el primer archivo de la lista, a medida que intento agregar otro, solo va imprimiendo este último, y no la lista completa.

El código para multifile.php es:

Código PHP:
 /* $datos es un array que recibe los datos del archivo*/
    
$datos["categorias"]= $categorias;
    
$datos["subcategoria"]= $subcategoria;
    
$datos["fecha"]= $fecha;
    
$datos["detalle"]= $detalle;
    
$datos["accesos_usuarios"]=$accesos_usuarios;
    
$datos["nom_arch"]=$_FILES['archivo']['name'];
    
$datos["siz_arch"]=$_FILES['archivo']['size'];
    
$datos["tmp_arch"]=$_FILES['archivo']['tmp_name'];
/*$mat es una matriz para recibir los campos de $datos, y asi poder desplegar la info de cada archivo, respectivamente */
    
$_SESSION["mat"][$contador]=$datos;
    
$contador++;
    
$archivo"<table width='100%'><tr><td>Archivo</td><td>Peso</td><td>Descripción</td><td>Eliminar</td></tr>";
    for (
$a=0;$a<=$contador;$a++){
        
$archivo.= "<tr><td>".$_SESSION["mat"][$a]["nom_arch"]." </td><td>".$_SESSION["mat"][$a]["siz_arch"]."</td> <td>".$_SESSION["mat"][$a]["detalle"]." </td> <td>".$_SESSION["mat"][$a]["nom_arch"]." </td> </tr>";
    }
    
$archivo.= "</table>"
Parte del archivo donde se despliegan los resultados:

Código HTML:
<table width="100%">
       <tr>
	        <td><?echo $archivo; ?></td>
       </tr>
</table> 
He intentado también, que $archivo sea un array, sin embargo, el resultado sigue siendo el mismo.
__________________
I can see the bodies on the wall... all the nightmare dreams i can't recall come...
  #2 (permalink)  
Antiguo 17/03/2005, 10:52
 
Fecha de Ingreso: enero-2004
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 0
Bueno, por lo que me puse a investigar, el valor de la matriz (mat) se pierde cada vez que llamo a multifile.php, a pesar q es una variable de sesion... es decir, pierde los valores anteriores de las filas, dependiendo del valor del índice, que en este caso sería contador (si contador esta en 3, las filas 0,1 y 2, en mat, ya no cuentan con su valor anterior, lo pierden)...

hay alguna forma de que esta matriz no pierda su valor a pesar de q se le llame constantemente?
__________________
I can see the bodies on the wall... all the nightmare dreams i can't recall come...
  #3 (permalink)  
Antiguo 17/03/2005, 11:39
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿De donde sale contador? Es que no veo que salga de la sesion, con lo cual siempre valdra 0 al ejecutarse ese codigo, e ira pisando ese indice al llamarlo varias veces.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 17/03/2005, 12:17
 
Fecha de Ingreso: enero-2004
Mensajes: 52
Antigüedad: 13 años, 11 meses
Puntos: 0
contador se incrementa... no se mantiene en 0... solo tengo algo así para declararlo:

Código PHP:
    if (!trim($contador))
    {
        
$contador=0;
    } 
con eso, evito q se ponga en 0... y funciona...
__________________
I can see the bodies on the wall... all the nightmare dreams i can't recall come...

Última edición por FaiTCRaH; 17/03/2005 a las 12:21
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 19:00.