Ir al contenido


Foto

Ejercicio Php Arrays


  • Por favor identifícate para responder
2 respuestas en este tema

#1 liaserrano

liaserrano

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 11 noviembre 2012 - 08:00

Hola realice un ejercicio que puso cesar en el tutorial 5 de php y mysql realiza lo pedido pero quisiera saber si he utilizado mas codigo de lo necesario (Para el nivel que voy) y si esta bien, muchas gracias

CODIGO HTML Y PHP


<html>
<body>
<form action="ejercicio.php" method="post">
<?
$meses[0]= "enero";
$meses[1]= "febrero";
$meses[2]= "marzo";
$meses[3]= "abril";
$meses[4]= "mayo";
$meses[5]= "junio";
$meses[6]= "julio";
$meses[7]= "agosto";
$meses[8]= "septiembre";
$meses[9]= "octubre";
$meses[10]= "noviembre";
$meses[11]= "diciembre";

?>

seleccione mes<select name="mes">

<option value="0">Seleccione el mes</option>

<? for ($i=0; $i < count($meses) ; $i++) {?>

<option value="<?echo $meses[$i]?>" title="<?echo $meses[$i]?>">
<?echo "$meses[$i]";?>
</option>
<?}?>

</select>
<br />
<form action="ejercicio.php" method="post">

seleccione ano<select name="ano">
<option value="0">Seleccione el ano</option>

<?
for ($j=1950; $j<=2012 ; $j++) { ?>
<option value="<? echo $ano[$j]= $j?>" title="<? echo $ano[$j]= $j?>">
<?echo "$ano[$j]";?>
</option>


<? }
?>



</select>
<br />
<input type="submit" name="enviar" title="enviar" >

</body>
</html>


________________________________________________________________________________________________________

CODIGO PHP
<?

$meses[$i]=$_POST["mes"];
$ano[$j]=$_POST["ano"];



if ($meses[$i] == "enero" or $meses[$i]=="marzo" or $meses[$i]=="mayo" or $meses[$i] =="julio" or $meses[$i] =="agosto" or $meses[$i] =="octubre" or $meses[$i] =="diciembre") {

echo "el mes $meses[$i], tiene 31 dias y en el ano $ano[$j]";



}
elseif ($meses[$i] == "febrero") {

echo "el mes $meses[$i], tiene 28 dias y es bisiesto y en el ano $ano[$j]";
}

else{

if ($meses[$i] == "abril" or $meses[$i] == "junio" or $meses[$i] == "septiembre" or $meses[$i] == "noviembre") {
echo "el mes $meses[$i], tiene 30 dias y en el ano $ano[$j]";

}
}



?>





  • 0

#2 Bish0p

Bish0p

    Advanced Member

  • Miembros
  • PipPipPip
  • 64 mensajes
  • LocationMéxico, DF

Escrito 12 noviembre 2012 - 01:41

Hola que tal,

puedes hacer lo siguiente:

en tu form al value en lugar de poner el nombre del mes pones el indice de tu ciclo

seleccione mes: <select name="mes">
<option value="0">Seleccione el mes</option>
<?php for ($i=0; $i < count($meses) ; $i++) { ?>
<option value="<?php echo $i+1; ?>" title="<?echo $meses[$i]?>">
<?echo "$meses[$i]";?>
</option>
<?}?>
</select>



y para procesar los datos te comento que en php existe una funcion nativa para calcular el numero de dias:


function getMonthDays($month, $year) {

    if (is_callable("cal_days_in_month")) {
        return cal_days_in_month(CAL_GREGORIAN, $month, $year);
    } else {
        return date("d", mktime(0, 0, 0, $month + 1, 0, $year));
    }
}

$days = getMonthDays($_POST["mes"], $_POST["anio"]);

echo 'El mes '. $_POST['mes'] .' tiene '. $days .' en el año '. $_POST['anio'];




Saludos



  • 0

#3 porfi.dev

porfi.dev

    Advanced Member

  • Miembros
  • PipPipPip
  • 183 mensajes
  • LocationMy House @ México

Escrito 20 noviembre 2012 - 06:00

Gracias Bishop por la referencia..


y en Programación no importa el nivel de complejidad de tu codigo, si no su eficiencia, que haga lo que tiene que hacer. YA despues con la experiencia te vas ahorrando codigo.
  • 0




IP.Board spam blocked by CleanTalk.