Nieuw lid |
|
Hallo allemaal,
Ik ben bezig met een database waarin resultaten per periode te voorschijn moeten komen. Het gaat hier om periodes per dag, per week, per maand, per jaar en tussen twee tussenliggende datums.
Nu moet deze periodes geselecteerd worden via een dropdownmenu. Maar waarop ik ook zoek, ik kan niets hierover vinden wat mij zou kunnen helpen. Op de één of andere manier heb ik wel een idee maar in de uitvoering wil het niet lukken. Ik heb nu alleen onderstaande, maar dan rekent hij alleen voor september. Deze is dan per maand. Het gaat hier om werkzaamheden.
<?php
$sql = "
SELECT *,
DATE_FORMAT(datum, '%Y %M') AS maand, (`einduren` - `beginuren`) AS `aantal_uren`
FROM
diensten
LEFT JOIN
werknemers
ON
diensten.dienst_id = werknemers.werknemer_id
WHERE MONTH( datum ) = '9'
";
if(!$result = mysql_query($sql)) {
trigger_error(mysql_error());
}
else {
$previous = '';
echo "<table class='report'>";
echo "<tr>";
echo "<td class='report-head'>Aantal uren</td>";
echo "<td class='report-head'>Werkzaamheden</td>";
echo "<td class='report-head'>Overuren </td>";
echo "<td class='report-head'>Afdeling</td>";
echo "<td class='report-head'>Werknemer </td>";
echo "<td class='report-head'>Datum </td>";
echo "</tr>";
while($row = mysql_fetch_assoc($result)) {
if($row['maand'] != $previous) {
// Nieuwe maand
$previous = $row['maand'];
echo $row['maand'].'<br /><br>';
}
echo "<tr>";
echo "<td class='report'>".$row['aantal_uren']."</td>";
echo "<td class='report'>".$row['werkzaamheden']."</td>";
echo "<td class='report'>".$row['overuren']>."</td>";
echo "<td class='report'>".$row['afdeling']."</td>";
echo "<td class='report'>".$row['werknemer']."</td>";
echo "<td class='report'>".$row['datum']."</td>";
echo "</tr>";
}
}
echo "</table>";
?>
<?php $sql = " SELECT *, DATE_FORMAT(datum, '%Y %M') AS maand, (`einduren` - `beginuren`) AS `aantal_uren` FROM diensten LEFT JOIN werknemers ON diensten.dienst_id = werknemers.werknemer_id WHERE MONTH( datum ) = '9' "; } else { $previous = ''; echo "<table class='report'>"; echo "<td class='report-head'>Aantal uren</td>"; echo "<td class='report-head'>Werkzaamheden</td>"; echo "<td class='report-head'>Overuren </td>"; echo "<td class='report-head'>Afdeling</td>"; echo "<td class='report-head'>Werknemer </td>"; echo "<td class='report-head'>Datum </td>"; if($row['maand'] != $previous) { // Nieuwe maand $previous = $row['maand']; echo $row['maand'].'<br /><br>'; } echo "<td class='report'>".$row['aantal_uren']."</td>"; echo "<td class='report'>".$row['werkzaamheden']."</td>"; echo "<td class='report'>".$row['overuren']>."</td>"; echo "<td class='report'>".$row['afdeling']."</td>"; echo "<td class='report'>".$row['werknemer']."</td>"; echo "<td class='report'>".$row['datum']."</td>"; } } ?>
Deze resultaten moeten dus zichtbaar zijn.
Heeft iemand een oplossing. Of een tip waarop ik kan zoeken. Heb in Nederland en in Engelse zoekwoorden gezocht maar kon niets vinden (Selectmenu per month, selectmenu per maand, dropdown per month etc.). Ik moet dus een selectmenu hebben. Al denk ik dat de sql code ook wel veranderd moet worden.
Koen schreef: Heb even code-tags toegevoegd.
|