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

[code]
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 ;
[/code]

//////////////////
config.inc.php//
/////////////////
[code]
<?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);  


?>
[/code]



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

[code]<!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>
[/code]


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

[code]
<!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>


[/code]