Create calendar current date php

0

I am trying to create a calendar of the current date, which adds buttons from the current day to 7 days onwards, in order to include actions.

I have tried with one taken from a web, but the truth is that I do not know how to modify it to include my code:

?php $month = date("n");
    $year = date("Y");
    $diaActual = date("j");
    $diaSemana = date("w", mktime(0, 0, 0, $month, 1, $year)) + 7;
    $ultimoDiaMes = date("d", (mktime(0, 0, 0, $month + 1, 1, $year) - 1));

    $meses = array(1 => "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio",
        "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
    ?>

            <table id="calendar">

                <caption><?php echo $meses[$month] . " " . $year ?></caption>
                <tr>
                    <th>Lun</th><th>Mar</th><th>Mie</th><th>Jue</th>
                    <th>Vie</th><th>Sab</th><th>Dom</th>
                </tr>
                <tr bgcolor="silver">

                    <?php
                    $last_cell = $diaSemana + $ultimoDiaMes;

                    for ($i = 1; $i <= 42; $i++) {

                        if ($i == $diaSemana) {

                            // determinamos en que dia empieza
                            $day = 1;
                        }

                        if ($i < $diaSemana || $i >= $last_cell) {

                            // celca vacia
                            echo "<td>&nbsp;</td>";
                        } else {

                            // mostramos el dia
                            if ($day == $diaActual)
                                echo "<td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > ".$day."</a></td>";

                            else
                                echo "<td>$day</td>";

                            $day++;
                        }

                        // cuando llega al final de la semana, iniciamos una columna nueva

                        if ($i % 7 == 0) {

                            echo "</tr><tr>\n";
                        }
                    }
                    ?>

                </tr>

            </table>
    
asked by Esther 22.11.2018 в 11:45
source

1 answer

1

In principle, it would only change the condition of the if:

 // mostramos el dia
 if ($day == $diaActual)
 echo "<td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > ".$day."</a></td>";

Instead of $day == $diaActual put the following condition $day >= $diaActual and $day <= $diaActual+7 the result in HTML of the table generated on November 22, 2018 would be this:

<table id="calendar"> <caption>Noviembre 2018</caption> <tr> <th>Lun</th><th>Mar</th><th>Mie</th><th>Jue</th> <th>Vie</th><th>Sab</th><th>Dom</th> </tr> <tr bgcolor="silver"> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr> <td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td><td>11</td></tr><tr> <td>12</td><td>13</td><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td></tr><tr> <td>19</td><td>20</td><td>21</td><td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > 22</a></td><td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > 23</a></td><td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > 24</a></td><td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > 25</a></td></tr><tr> <td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > 26</a></td><td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > 27</a></td><td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > 28</a></td><td class='hoy'><a href = '../../Controlador/controlador.php?dia=''' class='btn btn-light' name = 'dia' id = 'dia' > 29</a></td><td>30</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr> </tr> </table> 

Greetings!

    
answered by 22.11.2018 в 12:16