entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Calendario simple semanal

Hola!

Estoy empezando con el desarrollo de una app web, lo que necesito básicamente es hacer un calendario solo con vista semanal. Pido una orientacion de como empezarlo, ya que no trabaje aún con fechas.

Visualmente sería, los días de la semana en columnas empezando por lunes a sábados. y en el lado izquierdo en una columna mostrar las horas con filas, desde 8 a 20hs, por cada 2 horas.

Mostrar los registros de una BD que haya en el día y hora. Solo vista, sin realizar modificación, sin agregar nuevos, ya que estos registros lo realizo desde otra parte del sistema y solo se realizaria una lectura para mostrarlos.

Tambien sería ideal agregar solo dos botones para navegar con las semanas "anterior" y "siguiente".

En sintesis, el calendario es para tener solo una vista global de los registros que hay en la semana con sus respectivos horarios.

Espero puedan ayudarme

Leonardo-Tadei comentado Abr 1

Hola @maxicalis,

se entiende la pregunta, pero es muy amplia: es en síntesis un calendario que muestre eventos por horas de un día seleccionado, es decir, un subsistema en sí mismo!

Te sugiero que dividas la pregunta en temás específicos y agreges aca cada uno el código que tengas para ver cómo lo estás planteando de las muchas maneras correctas que hay de hacer esto.

Saludos cordiales

maxicalis comentado Abr 11

@Leonardo-Tadei Gracias por tu respuesta,
en sintesis lo que necesito realizar es algo así (adjunto imagen)
calendario semanal

Como vemos, muestra los días de la semana, y en una columna en la izquierda unas determinadas horas.

Tengo este código, que hasta el momento entrega los días de la semana.
Funciona muy bien, lo que no logro entender es como enlazar esto con las horas, para luego "solo" mostrar los registros de una Base de datos.

<?php
date_default_timezone_set('America/Argentina/Salta');
$year = (isset($_GET['year'])) ? $_GET['year'] : date("Y"); // Año en 4 digitos : 2018
$week = (isset($_GET['week'])) ? $_GET['week'] : date('W'); // Número de la Semana
if($week > 52) {
    $year++;
    $week = 1; // Si la semana es mayor a 52, consideramos mostrar la 1er semana del nuevo año
} elseif($week < 1) {
    $year--;
    $week = 52; // si la semana es inferior a la 1er semana del nuevo año, mostramos la última semana del año anterior
}
?>

<a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week == 1 ? 52 : $week -1).'&year='.($week == 1 ? $year - 1 : $year); ?>">Anterior</a> 
<a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week == 52 ? 1 : 1 + $week).'&year='.($week == 52 ? 1 + $year : $year); ?>">Proximo</a>
<table border="1px">
    <tr>
        <td>-</td>
<?php
if($week < 10) {
    $week = str_pad($week, 2, "0", STR_PAD_LEFT); // Aqui agrega un "0" cero a la izquierda al MES en número
}
for($day= 1; $day <= 6; $day++) { // Si dia = a 1 y menor que 7 y sumamos 1 dia mas

$array_dias['Sunday']="Domingo";
    $array_dias['Monday']="Lunes";
    $array_dias['Tuesday']="Martes";
    $array_dias['Wednesday']="Miercoles";
    $array_dias['Thursday']="Jueves";
    $array_dias['Friday']="Viernes";
    $array_dias['Saturday']="Sábado";

    $d = strtotime($year ."W". $week . $day);

    echo "<td>". $array_dias[date('l', $d)] ."<br>". date('d', $d) ."</td>";
}
?>
    </tr>
</table>

Aguardo

Leonardo-Tadei comentado Abr 11

Y cuál es la estructura de la tabla en dónde se guardan los eventos??? Podrías poner además de la estructura 2 o 3 registros de ejemplo?

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta