Ik zit met een probleempje.
Ik heb er voor gekozen om als vriendendienst voor iemand zijn website aan te pakken.
Nu is dit redelijk gelukt.
Echter loop ik tegen het volgenden aan:
Deze persoon heeft een website waar hij en zijn vrienden wekelijks op kunnen geven of zij wel of niet ergens aan mee doen.
Dit is simpel een tabel waar de data in staat en een ja of nee antwoord kan worden gegeven.
Elke week "schoof" hij dit handmatig op. Er worden bijvoorbeeld 2 maanden getoond en op het moment dat er een nieuwe week is begonnen werd deze toegevoegd en de eerste weer verdween.
Dit is vrij arbeidsintensief. Ik wil nu kijken of ik dit kan vergemakkelijken door dit te automatiseren.
Echter heb ik geen idee hoe ik dit technish voor elkaar zou kunnen krijgen.
Ik hoop dat iemand hier dit al eerder heeft gedaan of hier een idee voor heeft.
Het is nu zo dat ik heb afgesproken dit gedeelte eerst even in theorie uit te zoeken en dan pas gaan doen.
Dus alles wat nu bestaat laten voor wat het is en opnieuw beginnen.
Eigenlijk zat ik te denken om maar een datum in de database te plaatsen en een teller mee te laten lopen die iedere keer +7 laat zien.
Maak je niet druk om het verwijderen van 'verlopen records' uit je database. Als de website er staat dan is dat een vrij simpele aanvulling.
De vraag die we ons moeten stellen is: Hoe krijgen we nu automatisch die nieuwe records in onze tabel?
De antwoorden zijn hier al gegeven. Naar mijn idee zijn er twee mogelijkheden:
1. een Cronjob. Dit is een php script dat bijv. op iedere zondag door de server automatisch uitgevoerd wordt. In het script moet dan heel simpel een lusje komen te staan die tot acht weken vooruit records aan de database toevoegt indien die nog niet bestaan:
2. on the fly: Telkens als er een gebruiker op de agenda (zo noem ik jouw pagina nu maar even) beland dan wordt tijdens het genereren van de pagina (met PHP) een zijstapje gemaakt naar een lus die checkt of er nog minimaal 8 records in de database staan, en zo niet dan vult hij ze aan tot acht.
Jij mag kiezen welke van de twee het wordt. Daarnaast laat ons eens weten hoe je tabellen er uit moeten komen te zien:
Ik kan me zo voorstellen een tabel met users, een tabel met events, en een koppeltabel users-events opdat een user kan inschrijven op meerdere events maar ook dat elke event meerdere users kan laten inschrijven.
Als het gewoon om toevoegen of verwijderen van records kan je dat ook met een EVENT in MYSQL af.
In ieder geval is het de vraag wat de bedoeling is, moeten alle data van de komende periode getoond worden, of alleen de event die binnen die periode plaats vinden. In het laatste geval heb je sowieso dat tabelletje niet nodig, en in het eerste in principe ook niet. Overigens zou ik in het eerste geval het oplossen in stored procedure.
PS.
@Frank, ik persoonlijk zou de fullname opsplitsen.
CREATE EVENT get_rid_of_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 12 HOUR
DO
DELETE FROM events WHERE datefield <= CURRENT_DATE();
Het tabelletje:
Een db is bedoeld om dynamische data op te slaan, dus als het vandaag 8 februari is, is het over 2 weken (pak 'm beet) 22 februari. Dit ga je niet in en db opslaan.
Jij mag kiezen welke van de twee het wordt. Daarnaast laat ons eens weten hoe je tabellen er uit moeten komen te zien:
Hoewel ik het ontzettend wardeer dat je me helpt wil ik voor mijzelf ook de doelstelling zetten om er nog wat van te leren.
Echter zou ik heeeeeeel blij zijn met een opzetje.
Here goes wat betreft de structuur van tabellen.
Het is een WordPress install dus vandaaruit moet ik ook rekening houden betreft gegevens aanvragen. Voor alle gebruikers heb ik die namelijk al :-)
Het gaat hier om een "agenda" om dit maar even aan te houden voor een groepje golfers.
Deze mensen vinden het fijn om vooruit te plannen. Dit doen ze door iedere zondag een baan ergens te reserveren en aan te geven of zij wel of niet komen.
Dus de pagina waar op aan gegeven wordt of zij wel of niet komen is als volgt:
- Naam speler waarde: radio ja(1) of nee(0)
- Golfbaan waarde: dropdown met 5 banen
- Tijd van afslaan waarde: text veld
- Eerste Hole waarde: text veld
- Flight-indeling waarde: afhankelijk van aantal spelende mensen (ja(1) of nee(0) optellen)
Dat zou het in theorie moeten zijn.
Ik hoop dat het allemaal duidelijk is. En graag als jullie een reactie hebben met een voorbeeld leg het dan aub ook een beetje uit.
Nogmaals het is wel de bedoeling dat ik hier iets van leer!
CREATE EVENT get_rid_of_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 12 HOUR
DO
DELETE FROM events WHERE datefield <= CURRENT_DATE();
Het tabelletje:
Een db is bedoeld om dynamische data op te slaan, dus als het vandaag 8 februari is, is het over 2 weken (pak 'm beet) 22 februari. Dit ga je niet in en db opslaan.
Super interesant.
Geen idee hoe en wat verder nog maar wel erg leuk!!!
Ben een STAP verder gekomen.
Ik moet nu een manier hebben om data op te slaan bij de datum
Als volgt:
<?php
echo '<table cellpadding="0" cellspacing="0" border="1">';
echo'<tr>';
$sunday_date = strtotime("next sunday");
$current_date = date("d-m-y");
echo '<td width="250">' . $current_date .'</td>';
for ($i=0; $i<=10; $i++){
echo '<td width="250">' . date('d-m-y',$sunday_date). '</td>';
$sunday_date = strtotime("next sunday", $sunday_date);
}
echo'</tr>';
echo'</table>';
?>
Dit maakt een mooi tabelletje waar de komende 12 zondagen worden getoond.
Hoe zou ik nu de data aan de hand van de datum op kunnen slaan?