Vakantiea anvragen overzicht schuift op

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bastiaan

Bastiaan

19/08/2007 16:20:00
Quote Anchor link
Oke, dit is het probleem. Ik heb een vakantiekaart gemaakt, waarop werknemers dus vrij kunnen vragen en de werkgevers dat kunnen goed of afkeuren. Bij de admin(werkgevers) heb je een overzicht per maand wanneer iemand vrij heeft, dat kan in vakantiedagen of met bijzonder verlof en dat verschijnt dan in dat overzicht. Maar er is 1 probleempje, bij een bepaald aantal aanvragen worden de vrijedagen die zijn aangegeven, doorgeschoven naar de volgende maand(denk ik). Maar heb niet echt een idee hoe ik dit kan verhelpen. Ik zal hieronder het script plaatsen en als jullie me kunnen helpen, bedankt. Als er vragen zijn stel ze gerust(ik weet dat dit beetje onduidelijk is).
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
<?php
// Header bestand insluiten in pagina
require("includes/header.php");

// Menu voor supervisor
require("includes/menu.php");

// Controleren of de gebruiker een supervisor is
if(supervisor($_SESSION['gebruiker'])) {
    // Overzichtspagina voor supervisor
        
        if(isset($_POST['verzend'])) {
            // Status van de aanvraag wijzigen
            $query    = "UPDATE tbl_aanvragen SET status     = '".$_POST['status']."' WHERE ID = '".$_POST['aanvraagID']."'";
            mysql_query($query) or die(mysql_error());
            // Verander het bericht
            $bericht    = "Gegevens succesvol gewijzigd.";
        }

    
    ?>

    <div id="overzicht">
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
            <tr>
        <td class="head" colspan="5">Aanvragen overzicht</td>
      </tr>
      <tr>
          <td class="naamtitel"><b>Naam</b></td>
          <td class="datumtitel"><b>Datum</b></td>
          <td class="opmerkingtitel"><b>Opmerking</b></td>
          <td class="dropdowntitel">&nbsp;</td>
          <td class="buttontitel">&nbsp;</td>
      </tr>
      <?php
      
            // Alle onbehandelde aanvragen ophalen die door de medewerkers gedaan zijn
            $query    = "SELECT * FROM tbl_aanvragen WHERE status = 'In behandeling' ORDER BY ID DESC";
            $result    = mysql_query($query) or die(mysql_error());
            // Als er resultaten zijn, laat ze zien
            if(mysql_num_rows($result) > 0) {
                while($row = mysql_fetch_array($result)) {
                    ?>

                    <form name="aanvraag" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
                        <input type="hidden" name="aanvraagID" value="<?php echo $row ['ID'];?>">
                        <tr>
                        <?php
                        // Voor- en achternaam uit database halen waar het medewerkerID overeenkomt met medewerkerID uit                              // vorige query
                        $query2 = "SELECT voornaam, achternaam FROM tbl_medewerkers WHERE ID = '".$row['medewerkerID']."'";
                        $result2    = mysql_query($query2) or die(mysql_error());
                        while($row1 = mysql_fetch_array($result2)) {
                        ?>

                            <td class="naam"><?php echo "".$row1['voornaam']." ".$row1['achternaam'].""; ?></td>
                        <?php
                        }
                        ?>

                            <td class="datum"><?php echo dagNL($row['datum']); ?></td>
                            <td class="opmerking"><?php echo $row['opmerking']; ?></td>
                            <td class="dropdown">
                                <select name="status">
                                    <option value="Goedgekeurd">Goedkeuren</option>
                                    <option value="Afgekeurd">Afkeuren</option>
                                </select>
                            </td>
                            <td class="button"><input type='submit' name='verzend' value='Verzend' /></td>
                        </tr>
                    </form>
                <?php
                }
            }

            else {
                // Als er geen resultaten zijn, laat dit zien
                echo "<tr>
                                <td colspan='3'>Er zijn geen aanvragen</td>
                            </tr>"
;
            }

            ?>

        </table>
    </div>
    <br />
    <br />
    <div id="agenda">
        <?php

            // Huidige dag in cijfers
            $dag                    = date("d");
            // Huidige maand in cijfers
            $maand                = date("m");
            // Aantal dagen in huidige maand
            $maand_dagen    = date("t");
            // Huidige jaar
            $jaar                    = date("Y");
            
            echo "<b>Goedgekeurde vrije dagen van deze maand:</b><br />
            <br />
            <font color='#CC0000'>Rood</font>: Bijzonder verlof.<br />
            <font color='#008000'>Groen</font>: Vakantiedag.<br />"
;
            
            echo "<table border='0' width='650' cellpadding='0' cellspacing='0'>";
                echo "<tr>";
                    echo "<td class='overzichttitel'>Medewerker</td>";
                    // Aantal dagen van de maand in een tabel zetten
                    for($i=1;$i<=$maand_dagen;$i++) {
                        if($i == $dag) {
                            echo "<td class='huidigedag'>".$i."</td>";
                        }

                        else {
                            echo "<td class='dag'>".$i."</td>";
                        }
                    }

                echo "</tr>";
                // Medewerker namen ophalen uit database
                $medewerker_query        = "SELECT voornaam, achternaam, ID FROM tbl_medewerkers";
                $medewerker_result    = mysql_query($medewerker_query) or die(mysql_error());
                // $d is een teller voor de bewerkte data
                $d = 0;
                // $r is een teller voor de onbewerkte data
                $r = 0;
                // Zolang er medewerkers zijn, laat deze dan in het overzicht zien
                while($medewerker_row = mysql_fetch_array($medewerker_result)) {
                    echo "<tr>";
                        echo "<td class='medewerkernaam'>".$medewerker_row['voornaam']." ".$medewerker_row['achternaam']."</td>";
                        // $i is een teller voor de dagen
                        $i = 1;
                        // Haal alle onbehandelde aanvragen van de medewerker uit de database
                        $aanvraag_query    = "SELECT datum, type, medewerkerID FROM tbl_aanvragen WHERE medewerkerID = '".$medewerker_row['ID']."' AND status = 'Goedgekeurd'";
                        $aanvraag_result    = mysql_query($aanvraag_query) or die(mysql_error());
                        // Zolang $i kleiner of gelijk is aan het aantal dagen van de maand
                        while($i<=$maand_dagen) {
                            // Zolang er aanvragen zijn, maak de data dan klaar voor verder gebruik
                            while($aanvraag_row = mysql_fetch_array($aanvraag_result)) {
                                // Datum uit database halen
                                $datum_db[]            = $aanvraag_row['datum'];
                                // Datum uit database scheiden bij -
                                $datum[]                = explode("-", $datum_db[$r]);
                                // Type uit database halen
                                $type[]                    = $aanvraag_row['type'];
                                // Tel een bij $r op
                                $r++;
                            }

                            // Laat de aanvraag zien in het overzicht wanneer deze overeenkomt met de tabeldata
                            if($datum[$d][0] == $jaar && $datum[$d][1] == $maand && $datum[$d][2] == $i) {
                                // Als het type dag vakantiedag is
                                if($type[$d] == "Vakantiedag") {
                                    // Verander de class in vakantiedag
                                    echo "<td class='vakantiedag'>&nbsp;</td>";
                                    // Tel een op bij $d
                                    $d++;
                                }

                                else {
                                    // Verander anders de class in bijzonderverlof
                                    echo "<td class='bijzonderverlof'>&nbsp;</td>";
                                    // Tel een op bij $d
                                    $d++;
                                }
                            }

                            else {
                                // Laat een gewone lege dag zien wanneer er geen overeenkomst is met tabeldata
                                echo "<td class='overzichtdag'>&nbsp;</td>";
                            }

                            // Tel een op bij $i
                            $i++;
                        }

                    echo "</tr>";
                }

            echo "</table>";
        
        ?>

    </div>
<?php
}
else {
    // Overzichtspagina voor medewerker
    
    // Medewerker ID opvragen

    $id    = getID($_SESSION['gebruiker']);
    ?>

    <div id="overzicht">
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
            <tr>
        <td class="titel" colspan="3">Aanvragen overzicht</td>
      </tr>
      <tr>
          <td class="datum"><b>Datum</b></td>
          <td class="opmerking"><b>Opmerking</b></td>
          <td class="status"><b>Status</b></td>
      </tr>
      <?php
            // Alle aanvragen ophalen die door de medewerker gedaan zijn(sorteren aan de hand van ID, aflopend)
            $query    = "SELECT * FROM tbl_aanvragen WHERE medewerkerID = '".$id."' ORDER BY ID DESC";
            $result    = mysql_query($query) or die(mysql_error());
            if(mysql_num_rows($result) > 0) {
                while($row = mysql_fetch_array($result)) {
                    //hieronder wordt het resultaat weergegeven in de browser. Als alles klopt
                    //zie je de datum van de aanvraag, je opmerking en de status, anders(else) staat er
                    //"U hebt geen aanvragen gedaan"

                ?>

                <tr>
                    <td class="datum"><?php echo dagNL($row['datum']); ?></td>
                    <td class="opmerking"><?php echo $row['opmerking']; ?></td>
                    <td class="status"><?php echo $row['status']; ?></td>
                </tr>
                <?php
                }
            }

            else {
                echo "<tr>
                                <td colspan='3'>U heeft geen aanvragen gedaan</td>
                            </tr>"
;
            }

            ?>

        </table>
    </div>
    <?php
}

// Footer bestand insluiten in pagina
require("includes/footer.php");
?>
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.