Foros del Web » Programando para Internet » PHP »

Ayuda, for dentro de while

Estas en el tema de Ayuda, for dentro de while en el foro de PHP en Foros del Web. Tengo lo siguiente Código PHP: <?php while( $r < 3 ){ ?> <input type="text" name="id_docente[]" /> <?php for( $i = 0 ; $i < 3 ; $i ++){ ...
  #1 (permalink)  
Antiguo 14/06/2010, 11:09
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Ayuda, for dentro de while

Tengo lo siguiente

Código PHP:
<?php
while($r<3){
?>
<input type="text" name="id_docente[]" />
<?php
for($i=0;$i<3;$i++){
?>
<input type="text" name="examen1[]" />
<input type="text" name="examen2[]" />
<input type="text" name="examen3[]" />
<?php
}
$r++;
}
?>
Se supone que con cada ciclo del while deberia de traerme los 3 valores del for, pero no puedo imprimirlos no se como mandarlos a llamar, ayuda

hago lo siguiente pero no me hace nada
Código PHP:
<?php
$total
=count($_POST["id_docente"]);
$contar=count($_POST["examen1"]);
for(
$i=0;$i<$total;$i++)
{
$id_docente=$_POST["id_docente"][$i];
for(
$j=0;$j<$contar;$j++)
{
$examen1=$_POST["examen1"][$j];
$examen2=$_POST["examen2"][$j];
$examen3=$_POST["examen3"][$j];
}
}
?>
Ayuda por favor que alguien me explique

Última edición por negro1985; 14/06/2010 a las 11:26
  #2 (permalink)  
Antiguo 14/06/2010, 11:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Ayuda, for dentro de while

por cada ciclo while te traera todos los ciclos del for osea te deberia mostrar 10 campos de texto y en el for te falta una i en el ++ tiene $++ deberia ser $i++

que es lo que quieres lograr ???
  #3 (permalink)  
Antiguo 14/06/2010, 11:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda, for dentro de while

la forma en que lo haces no respeta relaciones, solo en tu imaginación cabe el cómo...

pero si analizas este ejemplo, ya te darás una idea
Código HTML:
<input type="text" name="id_docente[ID_DOCENTE]" />
<input type="text" name="examen[ID_DOCENTE][1]" />
<input type="text" name="examen[ID_DOCENTE][2]" />
<input type="text" name="examen[ID_DOCENTE][3]" /> 
como conseguirlo y como tratarlo con PHP, te lo dejo a tu imaginación... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 14/06/2010, 11:30
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda, for dentro de while

Cita:
Iniciado por Death_Empire Ver Mensaje
por cada ciclo while te traera todos los ciclos del for osea te deberia mostrar 10 campos de texto y en el for te falta una i en el ++ tiene $++ deberia ser $i++

que es lo que quieres lograr ???
Que me imprima el id del docente con los examenes que solo yo de de alta, por ejemplo el docente 1 tiene examen 1 y 2 solamente, pero el docente 2 tiene solo el ultimo, que esos resultados se me reflejen en una tabla

____________________________________
ID DOCENTE| EXAMEN 1|EXAMEN 2|EXAMEN 3|
----------------------------------------------------------
1 | 1 | 1 | |
----------------------------------------------------------
2 | | | 1 |
----------------------------------------------------------

Esto lo voy hace interactuar con una BD pero primero quiero hacer una prueba de esta manera, si puedes ayudarme te lo agradeceria
  #5 (permalink)  
Antiguo 14/06/2010, 11:39
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda, for dentro de while

Cita:
Iniciado por pateketrueke Ver Mensaje
la forma en que lo haces no respeta relaciones, solo en tu imaginación cabe el cómo...

pero si analizas este ejemplo, ya te darás una idea
Código HTML:
<input type="text" name="id_docente[ID_DOCENTE]" />
<input type="text" name="examen[ID_DOCENTE][1]" />
<input type="text" name="examen[ID_DOCENTE][2]" />
<input type="text" name="examen[ID_DOCENTE][3]" /> 
como conseguirlo y como tratarlo con PHP, te lo dejo a tu imaginación... ;)
Entonces quiere decir que lo trataria como un arreglo bidimensional

en for donde recupero todo quedaria asi
Código PHP:
<?php
for($i=0;$i<$total;$i++)
{
$id_docente=$_POST["id_docente"][$i];
for(
$j=0;$j<$contar;$j++)
{
$examen1=$_POST["examen1"][$i][$j];
$examen1=$_POST["examen2"][$i][$j];
$examen1=$_POST["examen3"][$i][$j];
}
}
?>
Es correcto o le falta algo?
  #6 (permalink)  
Antiguo 14/06/2010, 11:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda, for dentro de while

exacto, debe usar un array mas complejo... y bueno, la forma en la que lo debes recuperar es mas sencilla si creas perfectamente el arreglo...

solo debes encargarte de crearlo como se te ha sugerido, y... al recibir el formulario analiza el $_POST con var_dump() para observar su estructura antes de manejarla... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 14/06/2010, 11:57
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda, for dentro de while

Cita:
Iniciado por pateketrueke Ver Mensaje
exacto, debe usar un array mas complejo... y bueno, la forma en la que lo debes recuperar es mas sencilla si creas perfectamente el arreglo...

solo debes encargarte de crearlo como se te ha sugerido, y... al recibir el formulario analiza el $_POST con var_dump() para observar su estructura antes de manejarla... (:
OK voy a probar a ver que tal y te aviso cualquier otra duda, gracias
  #8 (permalink)  
Antiguo 14/06/2010, 12:39
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda, for dentro de while

No me sale, ayuda

Código PHP:
<table border="1">
<tr align="center">
<td>DOCENTE</td>
<?php for($r=0;$r<=3;$r++){?>
<td>EPC</td>
<td>EF</td>
<td>HEF</td>
<?php }?>
</tr>
<?php
$total 
count($_POST["id_docente"]);
for (
$i 0$i $total$i++) {
    
$id_docente $_POST["id_docente"][$i];
?>
<tr align="center">
<td><?php echo $id_docente;?></td>
<?php
    $contar 
count($_POST["HEF"]);    
    for (
$j 0$j 4$j++) {
        
$EPC $_POST["EPC"][$i][$j];
        
$EF $_POST["EF"][$i][$j];
        
$HEF $_POST["HEF"][$i][$j];
?>
<td><?php echo $EPC;?></td>
<td><?php echo $EF;?></td>
<td><?php echo $HEF;?></td>
<?php
    
}
?>
    </tr>
<?php
}
?>
</table>

Última edición por negro1985; 14/06/2010 a las 13:09
  #9 (permalink)  
Antiguo 14/06/2010, 13:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda, for dentro de while

se puede saber como has generado el formulario??

porque vamos, muestra como lo haces... y luego antes de procesarlo revisa el $_POST con var_dump() para comprobar su estructura...

¿no ya te había mencionado esto antes??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 14/06/2010, 13:16
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda, for dentro de while

Cita:
Iniciado por pateketrueke Ver Mensaje
se puede saber como has generado el formulario??

porque vamos, muestra como lo haces... y luego antes de procesarlo revisa el $_POST con var_dump() para comprobar su estructura...

¿no ya te había mencionado esto antes??
aqui esta mi formulario,

Código PHP:
<form name="forma" method="post" action="genera1.php">
<table border="1" align="center">
<tr align="center">
<td>Docente</td>
<?php
for($i=0;$i<=3;$i++){
?>
<td>EPC</td>
<td>EF</td>
<td>HEF</td>
<?php
}
?>
</tr>
<?
while($r<2){
?>
<tr align="center">
<td><input type="text" name="id_docente[]" id="id_docente[]" /></td>
<?php
for($k=0;$k<=3;$k++){
?>
<td><input type="checkbox" name="EPC[][]" value="1" /></td>
<td><input type="checkbox" name="EF[][]" value="1" /></td>
<td><input type="checkbox" name="HEF[][]" value="1" /></td>
<?php
}
$r++;
}
?>
</tr>
<tr>
<td colspan="13" align="center"><input type="submit" name="Aceptar" value="Aceptar" /></td>
</tr>
</table>
</form>
Sinceramente lo de var_dump no se como aplicarlo, por favor ayudame o explicame
  #11 (permalink)  
Antiguo 14/06/2010, 13:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda, for dentro de while

lo del var_dump es sencillo, al recibir tu formulario...
Código PHP:
echo '<pre>';
var_dump($_POST);
echo 
'</pre>'
hay que leer el manual...
http://php.net/var_dump

y volviendo con tu problema, aún sigues sin relacionar los índices... ¿recuerdas el ID_DOCENTE con mayúsculas del ejemplo que te puse??

bueno, ahí deberías usar el ID de tu docente, si... debes imprimirlo, igual con la relación de los sub-índices de los exámenes... (:

espero que me hayas entendido...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 14/06/2010, 13:43
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda, for dentro de while

Cita:
Iniciado por pateketrueke Ver Mensaje
lo del var_dump es sencillo, al recibir tu formulario...
Código PHP:
echo '<pre>';
var_dump($_POST);
echo 
'</pre>'
hay que leer el manual...
http://php.net/var_dump

y volviendo con tu problema, aún sigues sin relacionar los índices... ¿recuerdas el ID_DOCENTE con mayúsculas del ejemplo que te puse??

bueno, ahí deberías usar el ID de tu docente, si... debes imprimirlo, igual con la relación de los sub-índices de los exámenes... (:

espero que me hayas entendido...
Pero como hacerlo, un ejemplo, estoy trabado con esto, siento que la cabella me va a estallar con esto problema
  #13 (permalink)  
Antiguo 14/06/2010, 13:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda, for dentro de while

bueno, si el formulario lo creas en base a una consulta de la base de datos es simple: usa el ID de tu resultado para relacionarlo...

si no, puedes crear un contador que después te servirá de relación...
Código PHP:
<?php
while($r<2){
?>
<tr align="center">
<td><input type="text" name="id_docente[<?php echo $r?>]" value="<?php echo $r?>" id="id_docente_<?php echo $r?>" /></td>
<?php
for($k=0;$k<=3;$k++){
?>
<td><input type="checkbox" name="EPC[<?php echo $r?>][]" value="1" /></td>
<td><input type="checkbox" name="EF[<?php echo $r?>][]" value="1" /></td>
<td><input type="checkbox" name="HEF[<?php echo $r?>][]" value="1" /></td>
<?php
}
$r++;
}
?>
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 14/06/2010, 13:51
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda, for dentro de while

Cita:
Iniciado por pateketrueke Ver Mensaje
bueno, si el formulario lo creas en base a una consulta de la base de datos es simple: usa el ID de tu resultado para relacionarlo...

si no, puedes crear un contador que después te servirá de relación...
Código PHP:
<?php
while($r<2){
?>
<tr align="center">
<td><input type="text" name="id_docente[<?php echo $r?>]" value="<?php echo $r?>" id="id_docente_<?php echo $r?>" /></td>
<?php
for($k=0;$k<=3;$k++){
?>
<td><input type="checkbox" name="EPC[<?php echo $r?>][]" value="1" /></td>
<td><input type="checkbox" name="EF[<?php echo $r?>][]" value="1" /></td>
<td><input type="checkbox" name="HEF[<?php echo $r?>][]" value="1" /></td>
<?php
}
$r++;
}
?>

O sea que cada ciclo del while los for tomaran el valor del while, sin son 10 ciclos del while deben ser 10 valores que los for deben tomar, ahora otra duda, como recibo estos, datos, estan correcto de la manera en que lo estoy haciendo
  #15 (permalink)  
Antiguo 14/06/2010, 14:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda, for dentro de while

el como recibirlos depende de tu comprensión de su estructura, por eso te he sugerido analizarla con var_dump
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 14/06/2010, 15:05
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda, for dentro de while

Alguien mas que me pueda orientar

Etiquetas: Ninguno
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 21:29.