Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: simchgab en 26 de Mayo 2016, 17:08
-
Mi solución para el ejercicio CU00830B del curso básico de programación PHP:
<html>
<head>
<meta charset="UTF-8"/>
<meta lang="es"/>
<link type="text/css" rel="stylesheet" href="calendar.css"/>
</head>
<body>
<?php
define(DIAENSEGUNDOS,86400); //Defino una constante
$time = time();
$vecMeses = array("Enero","Febrero","Marzo","Abril",
"Mayo","Junio","Julio","Agosto","Septiembre","Ocubre","Noviembre","Diciembre");
$diasDeLaSemana = array("Lunes","Martes","Miercoles","Jueves","Viernes", "Sabado", "Domingo");
$primerDiaMes = null; //Inicializo la variable
$hora = date(h,$time) * 3600; //Hora actual convertida a segundos
$min = date(i,$time) *60; //min Actuales convertidos a segundos
$seg = date(s,$time); //Segundos actuales
$time = ($time - $hora - $min - $seg); //Lo llevo a las 00:00:00 hs del dia actual
echo "<table> <th>Mes de ".$vecMeses[date(n,$time)-1]."</th>";
echo "<tr>";
for ($i = 0; $i < count($diasDeLaSemana); $i++){
echo "<td>".$diasDeLaSemana[$i]."</td>";
}
echo "</tr>";
//Si el dia no es el primero del mes
if (date(d,$time) > 1){
$time = $time - ((date ( d,$time )-1)*DIAENSEGUNDOS);
}
echo "<tr>"; //Imprimo el table row correspondiente a la primer fila
$primerDiaMes = date(l,$time); //Almaceno el primer dia del mes actual representando el dia completo
switch ($primerDiaMes){ //Acomodo el dia 1 en la columna correspondiente
case Tuesday:echo "<td>".date ( n,$time )."</td>";
break;
case Wednesday: for ($i = 0; $i < 2; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
case Thursday: for ($i = 0; $i < 3; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
case Friday: for ($i = 0; $i < 4; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
case Saturday: for ($i = 0; $i <5; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
case Sunday: for ($i = 0; $i < 6; $i++) {
echo "<td></td>";
}
echo "<td>".date ( d,$time )."</td>";
break;
}
echo "</tr>";
while ((date ( t,$time ) >= (date ( d,$time ))) && (date ( d,$time ) != 31)){
echo "<tr>";
$time = $time + DIAENSEGUNDOS; //avanzo al siguiente dia
while (((date ( l,$time ) <> Sunday)) && (date(d,$time) != 31)){
echo "<td>".date ( d,$time )."</td>";
$time = $time + DIAENSEGUNDOS;
}
echo "<td>".date ( d,$time )."</td>";
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
Pero no me toma el css:
table{
align-items: center;
text-align: center;
width: 600px;
border-width: 1px;
}
table .th{
position: center;
}
Alguna idea? Gracias.
-
Hola simchgab.
En primer lugar darte la bienvenida al foro, y seguidamente recomendarte leer este hilo, para que veas como publicar nuevos temas adecuadamente en el foro, como insertar código, etc.
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.msg7784#msg7784
y, ¿Cual es el problema que tienes con el css?
Saludos. ;D
-
Ese es el inconveniente con el css, No me lo toma, La pagina al ejecutarla no modifica la tabla, No centra el table header, al igual que tampoco me modifica su tamaño.
Y no puedo encontrarle el error ni a la llamada en el link, ni al codigo del css ::)
Muchísimas gracias por la bienvenida, ahora leo ese post.
-
Estuve comprobando el ejercicio y a mí si se me aplica el estilo css que has definido.
Si a lo que te refieres es que no te centra el encabezado de la tabla, donde aparece: "Mes de Mayo", si te lo centra, solo que lo hace sobre la columna en la que está, ya que lo que lo has insertado entre <th></th> y actúa como cabecera de la primera columna de la tabla.
Podrías insertarlo entre las etiquetas <caption></caption> para que te aparezca centrado sobre el ancho total de la tabla.
En el css también usas lo siguiente:
table .th{
position: center;
}
La propiedad "position", hasta donde yo recuerdo solo admite ciertos valores y "center" no está entre ellos, te dejo un enlace para que lo revises.
https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=736:propiedad-position-css-static-relative-absolute-fixed-top-right-bottom-left-ejemplos-practicos-cu01032d&catid=75:tutorial-basico-programador-web-css-desde-cero&Itemid=203
Saludos.
-
Mil gracias, bueno al menos si funciona esta bien jaja, y eso que borre los temporales :s
en fin. Mil gracias