Ik zou graag de verjaardagskalender van onze voetbalclub willen uitlezen met php.
Heb een .csv gemaakt met daarin:
<geboortedatum dd-mm-jj> <naam> <team waarin deze persoon speelt>

De bedoeling is dat bij aanroepen van dat script wordt gekeken naar de welke maand het momenteel is en dat alle personen die in deze maand die zijn geboren worden getoond. Zou iemand mij willen helpen met een script? Ben zelf al wat aan het fröbelen geweest, en krijg wel iets op het scherm, maar dat is niet echt wat ik zou willen (zou het ook graag in kolommen willen formateren).

alvast bedankt voor je reactie,
Jos
Heb je toevallig de beschikking over een mysql database? Zo ja, dan zou ik daarmee werken. De .csv die je nu hebt is namelijk wel te importeren in een database.
Hey Blanche,
Neen, ik moet het doen met alleen dit tekstbestand. Is dat een probleem?
nee is geen probleem..
Hoe ziet het er precies uit? zijn die tekens (kleinerdan en groterdan tekens) er echt, of bedoel je er mee dat daar die dingen staan...
dus is het zo:

<04-05-06> <henk> <B1>

of

04-05-06 henk B1

?
Dit is de lay-out van het .csv bestand (aangemaakt in DOS tekst via XCL):

15-06-32;Jan van Sluijs;75;E1

In Quickbasic zou ik het zo aanpakken:
- lees de datum van vandaag uit.
- filter de maand er uit (m1)
- maandnummers omzetten naar tekst (02=Februari etc)
: Start
- open het csv bestand
- lees een regel (regel=regel+1)
- lees het eerste veld en haal de maand er uit (m2)
- indien maand2=maand1 toon $dag $m1 - $naam ($leeftijd - $team)
: Loop

E.e.a. in kolommen (vast aantal pixels, maximale breedte = langste naamstring + 2)

ik denk maar ff mee :-)
Jos
Laten we het derde veld maar niet gebruiken; volgens mij klopt dat niet eens...
Ga liever uit van het eerste, tweeden en laatste veld. Wel wat rekenen dus #-)

Jos
Jos schreef op 22.10.2006 17:13
Dit is de lay-out van het .csv bestand (aangemaakt in DOS tekst via XCL):

15-06-32;Jan van Sluijs;75;E1

In Quickbasic zou ik het zo aanpakken:
- lees de datum van vandaag uit.
- filter de maand er uit (m1)
- maandnummers omzetten naar tekst (02=Februari etc)
- open het csv bestand
: Start
- lees een regel (regel=regel+1)
- lees het eerste veld en haal de maand er uit (m2)
- indien maand2=maand1 toon $dag $m1 - $naam ($leeftijd - $team)
: Loop

- sluit het bestand

E.e.a. in kolommen (vast aantal pixels, maximale breedte = langste naamstring + 2)

ik denk maar ff mee :-)
Jos
Je kunt met de functies file() en explode() een aardig eind komen. Ik heb het volgende voorbeeldje voor je geschreven. Is getest en werkt op een csv bestand waarbij de velden gescheiden zijn door ;'s.

<?php
$data = file('bestand.csv');

foreach($data as $key => $regel)
{
$data[$key] = explode(';', $regel);
$datum = explode('-', $data[$key][0]);

if($datum[1] == date('m'))
{
echo $data[$key][1].' is jarig op '.$datum[0].'-'.$datum[1].'<br />';
}
}
?>
ja, dat is snel voor elkaar!
Is zoiets snel te sorteren (bestand.csv) op datum zodat er oplopend per dag de feestvarkens kunnen worden getoond?
Hoe wil je het gesorteerd hebben? Het probleem is dat sorteren met php veel lastiger is dan met mysql bijvoorbeeld.

Volgens mij is de enige sorteer functie die je kunt gebruiken [php]sort[/php], maar die is alleen te gebruiken bij array's.
Blanche schreef op 22.10.2006 17:50
Hoe wil je het gesorteerd hebben?

Op datum ($dag), omdat het toch om dezelfde maand gaat. Zo kan ik wat overzichtelijker tonen:

3 oktober Jan Kaas (E1)
Piet Pluk (A1)
5 oktober Adri Janse (A1)

via MySQL zou waarschijnlijk ook kunnen (hoeft dat dan niet onder php te doen) maar die heb ik helaas niet tot mijn beschikking...

Reageren