Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: pedro,, en 09 de Marzo 2016, 22:35
-
Hola, dejo una nueva propuesta para el ejercicio CU00830B del tutorial del programador web PHP desde cero.
Crea un documento HTML que conste de un título h1 con el texto <<Calendario>>. En la página deberá mostrarse el mes y año actuales (en el momento en que hagas el ejercicio) y para cada día del mes, indicar si es lunes, martes, miércoles, jueves, viernes, sábado o domingo.
Ejemplo: suponiendo que hagas el ejercicio en mayo de 2050, debería mostrarse:
Día 1: Domingo, Día 2: Lunes, Día 3: Martes, Día 4: Miércoles, … etc. hasta Día 31: Martes.
Ampliación voluntaria del ejercicio: si tienes conocimiento de maquetación con HTML y CSS te proponemos que cambies el aspecto para que en lugar de mostrarse como texto, el calendario se muestre con aspecto de calendario habitual. Para la maquetación puedes usar una tabla de 7 columnas por 7 filas (total 49 celdas) con ancho de tabla 300 píxeles y tamaño de fuente en la tabla 24 píxeles. La primera columna corresponderá a lunes y la última a domingo como mostramos en el siguiente ejemplo.
<!DOCTYPE html>
<html>
<head>
<title>Ejeercicio. CU00830B</title>
<meta charset="utf-8">
<style>
table caption{
background-color: gold;
}
table, td {
background-color: yellow;
font-size: 24px;
margin: 0 auto;
}
</style>
</head>
<body>
<h1 style="text-align:center">Calendario</h1>
<?php
$diasSemana = array('Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa', 'Do');
$meses = array('ENERO', 'FEBRERO', 'MARZO', 'ABRIL', 'MAYO', 'JUNIO', 'JULIO', 'AGOSTO', 'SEPTIEMBRE', 'OCTUBRE', 'NOVIEMBRE', 'DICIEMBRE');
$time = time();
$dia = date('d');
$mes = date('n');
$anno = date('Y');
$newTime = $time - (($dia*24*60*60)-(24*60*60));
echo ('<table style="width: 300px;">');
echo ('<caption>' . $meses[$mes-1] . ' DE ' . $anno . '</caption>');
$contador = 0;
for($i=0; $i<7; $i++) {
echo('<tr>');
if($i == 0){
for($j=0; $j<7;$j++) {
echo ('<td>' . $diasSemana[$j] . '<td/>');
}
} else {
for($k=0; $k<7; $k++){
if($contador == ($dia-1)){
echo('<td style="color:blue;">');
} else {
echo ('<td>');
}
if($i == 1 && $k < ((date('N', $newTime)) - 1) || $contador == date('t', $newTime)) {
echo('');
} else {
echo ++$contador;
}
echo('<td/>');
}
}
echo('<tr/>');
if($contador == date('t', $newTime)){
$i = 7;
}
}
echo ('<table/>');
?>
</body>
</html>
Saludos.
-
Hola Pedro está bien resuelto y bien maquetado buen trabajo
Saludos