Foros del Web » Programando para Internet » PHP »

ayuda con arreglos

Estas en el tema de ayuda con arreglos en el foro de PHP en Foros del Web. No entiendo como puedo sacar los datos de mi variable, podrian ayudarme??? dentro de array3.php almaceno mi arreglo que se encuentra dentro de un <form> ...
  #1 (permalink)  
Antiguo 09/10/2003, 12:04
 
Fecha de Ingreso: agosto-2003
Ubicación: Oaxaca
Mensajes: 41
Antigüedad: 20 años, 7 meses
Puntos: 0
ayuda con arreglos

No entiendo como puedo sacar los datos de mi variable, podrian ayudarme??? dentro de array3.php almaceno mi arreglo que se encuentra dentro de un <form> y en el action del form vuelvo a llamar a array3.php, mi codigo es el siguiente:

----array3.php----

<?php
$Boton=$HTTP_POST_VARS["Boton"];

if ($Boton=="Enviado")
{ //$Alumno=$HTTP_POST_VARS["$Alumno"];
while (list ($key, $val) = each ($HTTP_POST_VARS["Alumno"]))
{ echo "$key => $val<br>"; }
}

if ($Boton=="")
{
$Cont=1;
print "<FORM NAME='Calif' ACTION='array3.php' METHOD='POST' >";
for ($X=0;$X<4;$X++)
{ $Alumno[$X]=$X;
print "<INPUT TYPE='text' NAME='$X' MAXLENGTH='4' SIZE='4'>" ;
$Cont++;
}
print "<INPUT TYPE='HIDDEN' NAME='Alumno' VALUE=$Alumno >"; //CAMPO OCULTO
print "<INPUT TYPE='SUBMIT' NAME='Boton' VALUE='Enviado'>";
print "</form>";

reset ($Alumno);
print "<table> <tr> <td> Contador <td> Control";
while (list ($Key, $Contine)=each($Alumno))
{ print "<tr><td>$Key <td>$Contine </tr>";
}
}
?>


y me manda el siguiente error:

Warning: Variable passed to each() is not an array or object in c:\archivos de programa\apache group\apache\htdocs\pruebas\ejemplos\array3.php on line 7


que es lo que tengo que hago mal?
__________________
'.' @nita '.'
  #2 (permalink)  
Antiguo 09/10/2003, 12:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. hay dos cosas que puntualizar:

1) .. la generación de esos campos input que usas (hidden) con los datos de tu array .. podrías usar arrays ahí directamente:

print "<INPUT TYPE='text' NAME='calificaciones[$Alumno]' MAXLENGTH='4' SIZE='4'>" ;

así en tu script donde los proceses .. los tendrás en el array alumnos los valores que ingreses en esos campos que vas a generar dinámicamente ..

los recorres con:

Código PHP:
foreach($_POST['calificaciones'] as $alumno=>$calificacion){
   echo 
$alumno." = ".$calificacion."<br>";

Se usa como indice del array el nombre (asociativo) del array calificaciones .. así que podrías usarlo en bucles para ingresar calificaciones de vários alumnos a la vez.

2) si vas a pasar un array entre scripts (por el URL) hay que serializarlo minimo .. Puedes usar las funciones planteadas en esta FAQ que te ayudarán .. Pero, en tu caso creo que eso no es necesario si usas la técnica descrita en el punto anterior.

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

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; 09/10/2003 a las 12:45
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 17:29.