Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] hacer calculos con resultados impresos en un bucle

Estas en el tema de hacer calculos con resultados impresos en un bucle en el foro de PHP en Foros del Web. hola pues bueno tengo una dudaos pongo los codigos: codigo del bucle: Código PHP: <HTML>     <HEAD><TITLE>Unidad 2 - Formula 1</TITLE></HEAD>     <BODY bgcolor="#003399"><CENTER>     <HR><img src=logo_f1.gif>     <H1><FONT color="white">FÓRMULA 1</H1>       <HR>             <TABLE BORDER=2 width=300>     <TR>         <TD width=70 align="CENTER"><B><FONT color="white"> Gran Premio </FONT></B></TD>                 <TD width=70 align="CENTER"><B><FONT color="white"> Posición </FONT></B></TD>         <TD width=70 align="CENTER"><B><FONT color="white"> Puntos </FONT></B></TD> ...
  #1 (permalink)  
Antiguo 11/04/2013, 16:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 49
Antigüedad: 16 años, 2 meses
Puntos: 0
hacer calculos con resultados impresos en un bucle

hola pues bueno tengo una dudaos pongo los codigos:
codigo del bucle:
Código PHP:
<HTML>
    <HEAD><TITLE>Unidad 2 - Formula 1</TITLE></HEAD>
    <BODY bgcolor="#003399"><CENTER>
    <HR><img src=logo_f1.gif>
    <H1><FONT color="white">FÓRMULA 1</H1>
      <HR>

            <TABLE BORDER=2 width=300>
    <TR>
        <TD width=70 align="CENTER"><B><FONT color="white"> Gran Premio </FONT></B></TD>        
        <TD width=70 align="CENTER"><B><FONT color="white"> Posición </FONT></B></TD>
        <TD width=70 align="CENTER"><B><FONT color="white"> Puntos </FONT></B></TD>
    </TR>
<?
    
require ("2.1pilotos.php");
    
$el_piloto $_POST['el_piloto'];
    
$pilotos $matriz_f1[$el_piloto]["nombre"];
    
$carreras $matriz_f1[$el_piloto]["carreras"];//con este fallo y el de arriba no puedo continuar para hacer un bucle que me de los resultados de las carreras
    
echo "La clasificación de <b>'$pilotos'</b> es:";
        for(
$i=0;$i<sizeof($carreras);$i++){
    echo 
"<TR>";
    
    
printf("<TD align=CENTER>%s</TD><TD align=RIGHT>%s</TD>",$carreras[$i]["premio"],$carreras[$i]["posicion"]);

    echo 
"</TR>";
         }    
?>

    </TABLE></FONT>
<P><INPUT type="button" value="<- Volver atr&aacute;s" onClick="history.back();"> 

</CENTER></BODY>
</HTML>
y aqui la matriz:
Código PHP:
<?
$matriz_f1 
= array(

    
0=>array("nombre"=>"Fernando Alonso",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>1"puntos"=>10),
                    
1=>array("premio"=>"Malasia""posicion"=>2),
                    
2=>array("premio"=>"Australia""posicion"=>1),
                    
3=>array("premio"=>"S.Marino""posicion"=>2),
                    
4=>array("premio"=>"Europa""posicion"=>2),
                    
5=>array("premio"=>"España""posicion"=>1),
                    
6=>array("premio"=>"Mónaco""posicion"=>1)
                    )),
    
1=>array("nombre"=>"Michael Schumacher",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>2),
                    
1=>array("premio"=>"Malasia""posicion"=>6),
                    
2=>array("premio"=>"Australia""posicion"=>"Abandono"),
                    
3=>array("premio"=>"S.Marino""posicion"=>1),
                    
4=>array("premio"=>"Europa""posicion"=>1),
                    
5=>array("premio"=>"España""posicion"=>2),
                    
6=>array("premio"=>"Mónaco""posicion"=>5)
                    )),
    
2=>array("nombre"=>"Felipe Massa",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>9),
                    
1=>array("premio"=>"Malasia""posicion"=>5),
                    
2=>array("premio"=>"Australia""posicion"=>"Abandono"),
                    
3=>array("premio"=>"S.Marino""posicion"=>4),
                    
4=>array("premio"=>"Europa""posicion"=>3),
                    
5=>array("premio"=>"España""posicion"=>4),
                    
6=>array("premio"=>"Mónaco""posicion"=>9)
                    )),
    
3=>array("nombre"=>"Giancarlo Fisichella",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>"Abandono"),
                    
1=>array("premio"=>"Malasia""posicion"=>1),
                    
2=>array("premio"=>"Australia""posicion"=>5),
                    
3=>array("premio"=>"S.Marino""posicion"=>8),
                    
4=>array("premio"=>"Europa""posicion"=>6),
                    
5=>array("premio"=>"España""posicion"=>3),
                    
6=>array("premio"=>"Mónaco""posicion"=>6)
                    )),
    
4=>array("nombre"=>"Kimi Raikkonen",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>3),
                    
1=>array("premio"=>"Malasia""posicion"=>"Abandono"),
                    
2=>array("premio"=>"Australia""posicion"=>2),
                    
3=>array("premio"=>"S.Marino""posicion"=>5),
                    
4=>array("premio"=>"Europa""posicion"=>4),
                    
5=>array("premio"=>"España""posicion"=>5),
                    
6=>array("premio"=>"Mónaco""posicion"=>"Abandono")
                    )),
    
5=>array("nombre"=>"Jenson Button",
         
"carreras"=>array(0=>array("premio"=>"Bharein""posicion"=>4),
                    
1=>array("premio"=>"Malasia""posicion"=>3),
                    
2=>array("premio"=>"Australia""posicion"=>"Abandono"),
                    
3=>array("premio"=>"S.Marino""posicion"=>7),
                    
4=>array("premio"=>"Europa""posicion"=>"Abandono"),
                    
5=>array("premio"=>"España""posicion"=>6),
                    
6=>array("premio"=>"Mónaco""posicion"=>11)
                    ))
); 
// Final de la matriz  (array asocviativo)

?>
bueno mi duda es yo pongo un bucle que mediante un formulario anterior me selecciona la parte de la matriz que quiero, ahora ese dato lo imprimo todo mediante un bucle for pero me falta por añadir en el print la puntacion.¿se puede hacer de algun modo que ponga la tablade puntacion segun el puesto y segun vea la posicion calcule o tengo que poner en el array a mayores una parte de puntuacion al lado de la de posicion?
  #2 (permalink)  
Antiguo 12/04/2013, 01:19
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: hacer calculos con resultados imprimidos de un bucle

Parece que Balita y Igor van a la misma clase.

http://www.forosdelweb.com/f18/gener...8/#post4402453
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 12/04/2013, 04:44
 
Fecha de Ingreso: febrero-2008
Mensajes: 49
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: hacer calculos con resultados imprimidos de un bucle

hola muchas gracias quim. si es un curso muy interesante para aprender este lenguaje si te interesa la página avisame hay varios lenguajes y es delministerio de educación y es bastante barato. te comento yo la idea que hiciste con el if para lospuntos se me ocurrio(aunque no indica nada el ejercicio) pero lo voy a hacer así pero el problema esta a la hora de cuando imprimo el bucle con la carrera y la posición como puedo hacer para que asigne en la tabla una 3 columna en la que automaticamente en función del puesto ponga automaticamente la cantidad de puntos conseguidos sin necesidad de crear en el array una tercera columna en el que en funcion del puesto ponga yo manualmete los puntos. ¿me entiendes? ¿se puede hacer lo que yopido?
un saludo
  #4 (permalink)  
Antiguo 12/04/2013, 17:25
 
Fecha de Ingreso: febrero-2008
Mensajes: 49
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: hacer calculos con resultados imprimidos de un bucle

sigo sin encontrar la respuesta, alguien que me pueda ayudar?
  #5 (permalink)  
Antiguo 13/04/2013, 03:28
 
Fecha de Ingreso: febrero-2008
Mensajes: 49
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: hacer calculos con resultados imprimidos de un bucle

bueno ya solucione muchas gracias de todos modos os dejo la respuesta por si a alguien le viene bien, elfallo estuvo en que no me sente 20 minutos en la mesa con el portatil a mirar el codigo y sacar idea
Código PHP:
<HTML>
    <HEAD><TITLE>Unidad 2 - Formula 1</TITLE></HEAD>
    <BODY bgcolor="#003399"><CENTER>
    <HR><img src=logo_f1.gif>
    <FONT color="white">
    <H1>FÓRMULA 1</H1>
      <HR>

            <TABLE BORDER=2 width=300>
    <TR><B>
        <TD width=70 align="CENTER"><B><FONT color="white"> Gran Premio </FONT></B></TD>        
        <TD width=70 align="CENTER"><B><FONT color="white"> Posición </FONT></B></TD>
        <TD width=70 align="CENTER"><B><FONT color="white"> Puntos </FONT></B></TD>
    </B></TR>
<?
    
require ("2.1pilotos.php");
    
$el_piloto $_POST['el_piloto'];
    
$pilotos $matriz_f1[$el_piloto]["nombre"];
    
$carreras $matriz_f1[$el_piloto]["carreras"];
    
$resultado 0;
    
$suma 0;
    echo 
"La clasificación de <b>'$pilotos'</b> es:";
        for(
$i=0;$i<sizeof($carreras);$i++){
        if (
$carreras[$i]["posicion"]==1) {
         
$resultado=10;
    }elseif (
$carreras[$i]["posicion"]==2) {
         
$resultado=8;
    }elseif (
$carreras[$i]["posicion"]==3) {
         
$resultado=6;
    }elseif (
$carreras[$i]["posicion"]==4) {
         
$resultado=5;
    }elseif (
$carreras[$i]["posicion"]==5) {
        
$resultado=4;
    }elseif (
$carreras[$i]["posicion"]==6) {
        
$resultado=3;
    }elseif (
$carreras[$i]["posicion"]==7) {
        
$resultado=2;
    }elseif (
$carreras[$i]["posicion"]==8) {
        
$resultado=1;
    }elseif (
$carreras[$i]["posicion"]=="Abandono") {
        
$resultado=0;
    }
    echo 
"<p><TR><FONT color=white>";
    
    
printf("<TD align=CENTER>%s</TD><TD align=RIGHT>%s</TD><TD align=RIGHT>%0.0f</TD>",$carreras[$i]["premio"],$carreras[$i]["posicion"],$resultado);

    echo 
"</FONT></TR>";
    
$suma += $resultado;
    
         }    
         echo 
"</TABLE>";
         echo 
"<p> Número de puntos total conseguido en el campeonato: <b>$suma</b><br />";
?>

    </FONT>
<P><INPUT type="button" value="<- Volver atr&aacute;s" onClick="history.back();"> 

</CENTER></BODY>
</HTML>
si hay algun fallo nada mas que lo corrija el profesor lo indico.
un saludo
  #6 (permalink)  
Antiguo 14/04/2013, 05:09
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: hacer calculos con resultados imprimidos de un bucle

Gracias yo aprendi con http://www.w3schools.com/ tambien hay varios lenguajes y es gratuita.

Ojo que estructuras como esta <TD width=70 align="CENTER"><B><FONT color="white"> son totalmente obsoletas.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: bucle, formulario, html, resultados, tabla
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:02.