Database cronjob automatiseren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ronald Broos

Ronald Broos

27/04/2014 11:46:47
Quote Anchor link
Onlangs heb ik een script gemaakt om een soort top 40 lijst te maken, dit werkt goed maar ik loop iedere week bij het upaten van die lijst tegen het probleem aan dat ik dit enkel handmatig kan doen, net voordat de nieuwe top 40 verschijnt.

Nu wilde ik dit automatiseren, door op voorhand de gegevens in te geven en dan d.m.v. een cronjob de lijst te vervangen op het moment dat dat gewenst is. Echter heb ik geen idee hoe ik de nieuwe gegevens moet opslaan in de database terwijl die de oude op dat moment nog moet weergeven. Iemand een idee hoe ik dit het beste aanpak?
Gewijzigd op 27/04/2014 13:56:40 door Ronald Broos
 
PHP hulp

PHP hulp

29/03/2024 07:49:00
 
Ward van der Put
Moderator

Ward van der Put

27/04/2014 12:33:55
Quote Anchor link
Dan kun je het beste eerst je database normaliseren. Vereenvoudigd voor de top 3 in week 41 en 42 krijg je bijvoorbeeld zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
+------+---------+-----------+
| Week | Positie | Nummer-ID |
+------+---------+-----------+
|  41  |    1    | 41224     |
|  41  |    2    | 23124     |
|  41  |    3    | 49316     |
|  42  |    1    | 23124     |
|  42  |    2    | 49316     |
|  42  |    3    | 53217     |
+------+---------+-----------+


Via de nummer-ID verwijs je vervolgens naar de nummers in een tweede tabel, zodat je die maar één keer hoeft toe te voegen.

Met een weeknummer in een PHP-script of SQL-query kun je vervolgens geheel automatisch op het juiste moment overschakelen naar de nieuwe top 40.
 
Ronald Broos

Ronald Broos

27/04/2014 13:09:32
Quote Anchor link
Dus eigenlijk in de tabel weeknummers 1 t/m 53 aanmaken zeg maar en dan op weeknummer sorteren en doormiddel van een cronjob op het gewenste moment een script laten laden voor de juiste weergave?
 
Ward van der Put
Moderator

Ward van der Put

27/04/2014 13:14:58
Quote Anchor link
Dat hoeft niet eens met een cronjob: uit de actuele servertijd kun je met een datumfunctie het weeknummer halen.
 
Ivo P

Ivo P

27/04/2014 13:19:11
Quote Anchor link
En vast vooruitdenkend aan januari: misschien ook een kolom "jaar" toevoegen
 
Ronald Broos

Ronald Broos

27/04/2014 13:19:17
Quote Anchor link
Ja inderdaad maar ik moet hem op een bepaald tijdstip na uitzending aanroepen.
 
Ward van der Put
Moderator

Ward van der Put

27/04/2014 13:22:56
Quote Anchor link
Dan tel je enkele, dagen, uren en/of minuten op bij het tijdstip waarop de week begint. Rekenen met datums en tijden kan ook.
 
Ozzie PHP

Ozzie PHP

27/04/2014 13:44:46
Quote Anchor link
Ronald, zou je aub de titel "hulp gevraagd" willen aanpassen in een titel die iets zegt over jouw probleem, bijv. "database cronjob automatiseren". Iedereen hier heeft namelijk hulp nodig. Je kunt de titel aanpassen door je allereerste bericht te wijzigen. Alvast bedankt.
 



Overzicht Reageren

 
 

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.