Ik heb een inschrijfformulier met database verwerking wat goed werkt. Echter, nu wil ik een soort van beheerpagina maken waarbij je kunt zien hoeveel mensen zich er op welke datum hebben inschreven, maar heb totaal geen idee hoe dit te doen.
Heeft iemand hier ervaring mee? Of kan iemand mij aangeven wat de handigste manier is om dit te bereiken? Verwacht uiteraard niet een compleet voorstel (mag wel :) ).
We komen er wel :)
Heb nu onderstaande code toegevoegd:
<?php
$datum = mysql_query("SELECT datum FROM inschrijvingen");
while(list($datumRegistratie) = mysql_fetch_row($datum))
{
echo "$datumRegistratie<br />";
}
?>
Echter, dit laat ALLE datums zien. Wat ik nu nog wil is dat hij elke datum maar 1 x laat zien. Als er dus 5 registraties zijn op 13-08-2008 moet hij niet 5 x onder elkaar 13-08-2008 laten zien, maar gewoon 1 maal. Enig idee hoe dit op te lossen?
Als je naar de SQL query van pgFrank had gekeken, dan zou je zien wat er ontbrak. De group by moet je toevoegen.
De SQL kan je trouwens beter in een variabele stoppen dan dat je het rechtstreeks in de functie mysql_query() plaatst.
Je moet ook checken of je query wel gelukt is, nu ga jij er maar vanuit dat het goed gaat. Het zal waarschijnlijk vaak goed gaan, maar zoals je het nu hebt biedt geen zekerheid. Je moet dus foutafhandeling inbouwen.
Oke, was dat even vergeten ja. Nu werkt ook dat.
Nu moet ik nog 1 ding: alles samen in een tabel zetten. Heb nu onderstaand:
<?php
$sql_ =
"
SELECT
COUNT(1) AS aantal,
DATE(datum) AS datum
FROM
inschrijvingen
GROUP BY datum
ORDER BY
datum DESC;
";
if(!$res_ = mysql_query($sql_))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
} else {
if(mysql_num_rows($res_) >= 1)
{
while($datum = mysql_fetch_assoc($res_))
{
echo $datum['aantal']. '<br />';
}
} else {
echo 'Er staan (nog) géén resultaten in de database!.';
}
}
$Datum = mysql_query("SELECT datum FROM inschrijvingen GROUP BY datum");
while(list($DatumRegistraties) = mysql_fetch_row($Datum))
{
echo '<table border=1 class=beheer>';
echo "<tr><td>$DatumRegistraties</td><td>$DatumTotaal</td></tr>";
echo '</table>';
}
?>
Foutafhandelijk kijk ik nog wel naar, gaat mij nu eerst even om het resultaat te krijgen.Het 1e gedeelte van de tabel gaat goed. Op de plaats van $DatumRegistraties komen keurig de juiste data's te staan. Op de plaats van $DatumTotaal moeten de aantallen komen te staan, maar die krijg ik daar helaas niet. Iemand een idee?