werkoverzicht-mysql

Gesponsorde koppelingen

PHP script bestanden

  1. werkoverzicht-mysql

« Lees de omschrijving en reacties

/////////////////
MySql Tabel///
/////////////////

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE `werkoverzicht` (
  `id` int(11) NOT NULL auto_increment,
  `dag` varchar(20) NOT NULL default '',
  `datum_dag` int(11) NOT NULL default '0',
  `datum_maand` varchar(20) NOT NULL default '',
  `begintijd` int(11) NOT NULL default '0',
  `eindtijd` int(11) NOT NULL default '0',
  `betaald` enum('ja','nee') NOT NULL default 'ja',
  `aantaluur` int(11) NOT NULL default '0',
  `verdiend` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


//////////////////
config.inc.php//
/////////////////
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
<?php
// Hoeveel per uur? :  hier 5
$europeruur="5";


// Host is MEESTAL localhost
$host ="######";
// De gebruikersnaam waarmee je in je database komt
$gebruikersnaam="######";
// Je wachtwoord waarmee je in je database komt
$wachtwoord="######";
// De database naam, waar je tabel werkoverzicht in staat.
$databasenaam="######";

mysql_connect($host, $gebruikersnaam, $wachtwoord);
mysql_select_db($databasenaam);  


?>




///////////////////
formulier.php///
//////////////////

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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Werkuren schema</title>
</head>
<body>
<?php
// Om het formulier niet 2x neer te zetten heb ik het volgende verwerkt
// Hij pakt de get waarde die door overzicht.php word meegegeven, daarna controleert of het bestaat zoja: hij word gepost naar de juiste plaats


// Kijken of pag de waarde "update heeft"

if($_GET["pag"] == update){
// Zo ja: Zet paglink op update oftewel de POST
$paglink = $_GET["pag"];

// Omdat bij het updaten al gegevens zijn, halen we die uit den database
// Zodat we ze later netjes vanboven staan.

include("config.inc.php");

$query = "SELECT * FROM werkoverzicht WHERE id=".$_GET["id"];
$resultaat = mysql_query($query);
while($record = mysql_fetch_object($resultaat))
{

$id = $record->id;
$dag = $record->dag;
$datum_dag = $record->datum_dag;
$datum_maand = $record->datum_maand;
$begintijd = $record->begintijd;
$eindtijd = $record->eindtijd;
$aantaluur = $record->aantaluur;
$verdiend = $record->verdiend;
$betaald = $record->betaald;
}


}
else{
// Zo nee: Zet hem dan automatisch op voegtoe
$paglink = "voegtoe";

}


// Wat hier onder staat spreekt voor zich denk ik.
// de echo's die in de value's staan verwijzen bij het updaten naar de waarde die al eerder is ingevoerd, en bij het toevoegen zijn ze leeg.



?>


<h1>Formulier</h1>
<hr />
<form name="form1" action="verwerk.php?pag=<?php echo($paglink); ?>" method="post">
  <b>Dag: </b>
   <select name="dag">
    <option value="<?php echo($dag); ?>"><?php echo($dag); ?></option>
    <option value="Maandag">Maandag</option>
    <option value="Dinsdag">Dinsdag</option>
    <option value="Woensdag">Woensdag</option>
    <option value="Donderdag">Donderdag</option>
    <option value="Vrijdag">Vrijdag</option>
    <option value="Zaterdag">Zaterdag</option>
    <option value="Zondag">Zondag</option>
  </select>
  <br /><br />
  <b>Datum: </b>
  <select name="datum_dag">
    <option value="<?php echo($datum_dag); ?>"><?php echo($datum_dag); ?></option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
    <option value="24">24</option>
    <option value="25">25</option>
    <option value="26">26</option>
    <option value="27">27</option>
    <option value="28">28</option>
    <option value="29">29</option>
    <option value="30">30</option>
    <option value="31">31</option>
  </select>
    <br /><br />
  <b>Maand: </b>
  <select name="datum_maand">
    <option value="<?php echo($datum_maand); ?>"><?php echo($datum_maand); ?></option>
    <option value="Januari">Januari</option>
    <option value="Februari">Februari</option>
    <option value="Maart">Maart</option>
    <option value="April">April</option>
    <option value="Mei">Mei</option>
    <option value="Juni">Juni</option>
    <option value="Juli">Juli</option>
    <option value="Augustus">Augustus</option>
    <option value="September">September</option>
    <option value="Oktober">Oktober</option>
    <option value="November">November</option>
    <option value="December">December</option>
  </select>
    <br /><br />
  <b>Gewerkt van </b>
  <select name="begintijd">
      <option value="<?php echo($begintijd); ?>"><?php echo($begintijd); ?></option>
    <option value="01">1:00</option>
    <option value="02">2:00</option>
    <option value="03">3:00</option>
    <option value="04">4:00</option>
    <option value="05">5:00</option>
    <option value="06">6:00</option>
    <option value="07">7:00</option>
    <option value="08">8:00</option>
    <option value="09">9:00</option>
    <option value="10">0:00</option>
    <option value="11">11:00</option>
    <option value="12">12:00</option>
    <option value="13">13:00</option>
    <option value="14">14:00</option>
    <option value="15">15:00</option>
    <option value="16">16:00</option>
    <option value="17">17:00</option>
    <option value="18">18:00</option>
    <option value="19">19:00</option>
    <option value="20">20:00</option>
    <option value="21">21:00</option>
    <option value="22">22:00</option>
    <option value="23">23:00</option>
    <option value="24">24:00</option>
  </select>
  <b> tot </b>
  <select name="eindtijd">
      <option value="<?php echo($eindtijd); ?>"><?php echo($eindtijd); ?></option>
    <option value="01">1:00</option>
    <option value="02">2:00</option>
    <option value="03">3:00</option>
    <option value="04">4:00</option>
    <option value="05">5:00</option>
    <option value="06">6:00</option>
    <option value="07">7:00</option>
    <option value="08">8:00</option>
    <option value="09">9:00</option>
    <option value="10">10:00</option>
    <option value="11">11:00</option>
    <option value="12">12:00</option>
    <option value="13">13:00</option>
    <option value="14">14:00</option>
    <option value="15">15:00</option>
    <option value="16">16:00</option>
    <option value="17">17:00</option>
    <option value="18">18:00</option>
    <option value="19">19:00</option>
    <option value="20">20:00</option>
    <option value="21">21:00</option>
    <option value="22">22:00</option>
    <option value="23">23:00</option>
    <option value="24">24:00</option>
  </select>
    <br /><br />
  <b>Uitbetaald: </b>
  <select name="betaald">
      <option value="<?php echo($betaald); ?>"><?php echo($betaald); ?></option>
      <option value="Nee">Nee</option>
    <option value="Ja">Ja</option>
  </select>
  <br /><br />
  <input type="hidden" value="<?php echo($id); ?>" name="id" />
  <input type="submit" value="Plaats"  name="enter"/>
</form>

</body>
</html>



///////////////////////
overzicht.php///////
//////////////////////

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
218
219
220
221
222
223
224
225
226
227
228
229
230
231
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Overzicht</title>
</head>
<body>
<?php
// connecten met database
include("config.inc.php");

// Selecteer en tel de kolom verdiend met elkaar op maar alleen als uit diezelfde rij de kolom betaald ja is.
$select_betaald= "SELECT SUM(verdiend) AS verdiend FROM werkoverzicht WHERE betaald = 'ja' ";
$query_betaald = mysql_query($select_betaald);
$result_betaald = mysql_fetch_assoc($query_betaald);

// Selecteer en tel de kolom verdiend met elkaar op maar alleen als uit diezelfde rij de kolom betaald nee is.
$select_nietbetaald= "SELECT SUM(verdiend) AS verdiend FROM werkoverzicht WHERE betaald = 'nee' ";
$query_nietbetaald = mysql_query($select_nietbetaald);
$result_nietbetaald = mysql_fetch_assoc($query_nietbetaald);


//////////////////////////
//// Let op: Omdat er mysql_fetch_assoc is gebruikt, word het resultaat alleen maar met een array uitgespuugd.
/////////////////////////



// Wanneer je wel betaald en niet betaald met elkaar optelt krijg je het totaal :) goed he?

$result_totaal = $result_betaald["verdiend"]+$result_nietbetaald["verdiend"];

// Nou dan laten we de resultaten even allemaal zien op de pagina, ochjah dump het maar in een echo!
echo'
<h1>Overzicht</h1>
<hr>
Al uitbetaald: <b>€'
. $result_betaald["verdiend"].'</b> <br>
Nog niet uitbetaald: <b>€'
. $result_nietbetaald["verdiend"].'</b> <br>
Totaal verdiend: <b>€'
. $result_totaal.'</b> <br>
<hr>
<b>Toevoegen: <a href="formulier.php">klik</a>.</b>
<hr>
<br><br>
<table border="0" bgcolor="blue" cellpadding="1px" cellspacing="1px" width="800px">
<tr>
<td bgcolor="white"><b>Dag</b></td>
<td bgcolor="white"><b>Datum</b></td>
<td bgcolor="white"><b>Begintijd</b></td>
<td bgcolor="white"><b>Eindtijd</b></td>
<td bgcolor="white"><b>Aantal Uur</b></td>
<td bgcolor="white"><b>Verdiend</b></td>
<td bgcolor="white"><b>Uitbetaald</b></td>
<td bgcolor="white"><b>Verander</b></td>
<td bgcolor="white"><b>Verwijder</b></td>
</tr>'
;
// Hierboven is al de eerste rij van een tabel gemaakt voor het op de pagina te laten zien.

// Hieronder komt de rest van de tabel, Maar dan moeten we eerst alles uit de database halen.

$query2 = "SELECT * FROM werkoverzicht";
$resultaat = mysql_query($query2);
// We zetten het in een while dan haalt hij herhaaldelijk 1 voor 1 rij uit zijn database totdat alles eruit is gelezen.
while($record = mysql_fetch_object($resultaat))
{

echo'
<tr>
<td bgcolor="white">'
.$record->dag.'</td>
<td bgcolor="white">'
.$record->datum_dag.' '.$record->datum_maand.'</td>
<td bgcolor="white">'
.$record->begintijd.':00</td>
<td bgcolor="white">'
.$record->eindtijd.':00</td>
<td bgcolor="white">'
.$record->aantaluur.'</td>
<td bgcolor="white">'
.$record->verdiend.'</td>
<td bgcolor="white">'
.$record->betaald.'</td>
<td bgcolor="white"><a href="formulier.php?pag=update&id='
.$record->id.'"> Klik </a></td>
<td bgcolor="white"><a href="verwerk.php?pag=delete&id='
.$record->id.'"> Weg! </a></td>
</tr>
'
;
}

// En nog even de tabel op de pagina zelf sluiten
echo'</table>';

?>

</body>
</html>


//////////////////
verwerk.php///
/////////////////

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Verwerk.php</title>
</head>

<body>
<?php

// Connecten met database
include("config.inc.php");


// Kijken of velden zijn ingevuld
if(

// Noem het maar even checklist :)
!empty($_POST["dag"]) &&             
!
empty($_POST["datum_dag"]) &&        
!
empty($_POST["datum_maand"]) &&
!
empty($_POST["begintijd"])    &&
!
empty($_POST["eindtijd"]) &&
!
empty($_POST["betaald"]) &&
!
empty($_POST["enter"]) ){



// Zet alle POST waardes in een variabele, is wat duidelijker vind ik persoonlijk.
$dag = $_POST["dag"];
$datum_dag = $_POST["datum_dag"];
$datum_maand = $_POST["datum_maand"];
$begintijd = $_POST["begintijd"];
$eindtijd = $_POST["eindtijd"];
$eindtijd2 = $_POST["eindtijd"];
$betaald = $_POST["betaald"];



if($_GET["pag"] == voegtoe){
// Hieronder komt alles te staan wanneer je een nieuwe werkdag wilt invullen ?pag=voegtoe



// Uitleg: //
// In het formulier hebben de begintijd en de eindtijd een waarde meegekregen
// Die waarde is gewoon het aantal uur van het tijdstip dus 24:00 heeft als waarde 24 en 01:00 als waarde 01



// Hier kijkt hij of het begingetal groter is dan het eindgetal

if($begintijd >= $eindtijd)


// +24 is dan logisch om erbij tedoen, omdat je nooit eerder klaar bent dan je moet beginnen!
{ $eindtijd2+=24; }            

// We reken hier even uit hoeveel uur er gewerkt is
$aantaluur = $eindtijd2 - $begintijd;  
 // We reken uit hoeveel je verdiend hebt, per uur word hier 5 euro verdiend.
$verdiend = $aantaluur*$europeruur;            

// Nu hebben we alles uitgerekend tot zover en moeten alleen nog even in een database zetten
// Nou dat doen we dus zo:

$query="INSERT INTO werkoverzicht (dag, datum_dag, datum_maand, begintijd, eindtijd, betaald, aantaluur, verdiend) ";
        $query .= "VALUES ('";  
        $query .= $dag ."', '";
        $query .= $datum_dag ."', '";
        $query .= $datum_maand ."', '" ;
        $query .= $begintijd ."', '" ;
        $query .= $eindtijd ."', '";
        $query .= $betaald ."', '";
        $query .= $aantaluur ."', '";
        $query .= $verdiend ."');" ;
        
        //Query uivoeren en eventueel checken op fouten!
        mysql_query($query) or die(mysql_error());

// Ok, werkdag toegevoegd!
// Even melding weergeven en/of redirecten .        

echo'<meta http-equiv="refresh" content="0;URL=overzicht.php" />';



// Sluiten van ?pag=voegtoe
}



// Dit is een totaal ander deel van de pagina
// We beginnen hier met het kijken of de GET waarde update is meegegeven.

if($_GET["pag"] == update){


// Zoja We beginnen met updaten!
// Elke keer als je deze pagina bezoekt ze langs de checklist gaan kan je de meegegeven waardes direct updaten.


    $res=mysql_query("UPDATE werkoverzicht SET
    dag = '"
.$_POST["dag"] ."',
    datum_dag = '"
.$_POST["datum_dag"] ."',
    datum_maand = '"
.$_POST["datum_maand"] ."',
    begintijd = '"
.$_POST["begintijd"] ."',
    eindtijd = '"
.$_POST["eindtijd"] ."',
    betaald = '"
.$_POST["betaald"] ."'
    WHERE id= "
.$_POST["id"]." ORDER BY id DESC LIMIT 1 ")or die(mysql_error());
    // hier ook weer mysql_error voor eventuele fouten op te sporen.


// Ok, werkdag upgedate!
// Even melding weergeven en/of redirecten.    

echo'<meta http-equiv="refresh" content="0;URL=overzicht.php" />';

// en we sluiten het ?pag=update gedeelte weer.
}


// Hier onder is het vervolg van de "checklist"
}else{
// Wanneer niet alles is ingevuld komen ze hier terecht.
echo" 1 of meerdere invoervelden zijn niet gebruikt. Ga terug!";

// Ook de else van de checklist sluiten we hier.
}

// Hieronder komt het deel van het verwijderen
// Omdat je geen POST gegevens in moet vullen om te verwijderen
// Hoeft hij niet binnen de "checklist" te staan.

if($_GET["pag"] == delete){

$query_del="DELETE FROM werkoverzicht WHERE id=" .$_GET["id"]; // verwijderen
mysql_query($query_del) or die(mysql_error()); // hier ook weer mysql_error

// Stuur maar door als het gelukt is!

echo'<meta http-equiv="refresh" content="0;URL=overzicht.php" />';

// en ook het delete gedeelte sluiten we weer.
}

?>



</body>
</html>

 
 

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.