Hallo, ik heb een vraagje,

Ik ben nog steeds bezig met het bouwen van een site voor een vereniging, en ik heb een txt bestandje met data, waar ik in een phptje de eerstvolgende datum uit kan halen, en vervolgens een soort van "nog 5 nagjes slapen"countertje van op mijn site zet.

Hoe kan ik dit het beste doen?

groet bas
Aan jim:

Dat klopt, op het moment dat ik $countdown_event verander in $event dan is de variabele ingevult. het is alleen de vraag of dit de variabele is die bedoelt wordt.

Die $board_config kon ik inderdaad ook niet plaatsen.



Aan thijs:

Ja het is gewoon een lijstje met data, en de als het (stel dat) vandaag 07-02-2005 is dan moet er automatisch de eerstvolgende, dus die van 10-02-2005 gepakt worden.

Die moet dan weer in de counter geplakt worden, zodat er iets staat als: nog 3 nachtjes slapen.

Ik hoop dat het duidelijker is.

groet Bas,

(Alvast bedankt voor de moeite)
Hoi Bas,

maar dat is toch gek, wil je niet een soort naam erbij hebben van WAT er dan gebeurt over zoveel nachtjes slapen?
Maar goed, een opzetje voor je:

<?php
// bestand inlezen
$array = file ('tekstbestand.txt');
$n = count ($array);

$vandaag = time ();

for ($i = 0; $i < $n; $i++) {
if (strtotime ($array[$i]) > $vandaag) {
// hier het verschil uitrekenen
}
}
Oh sorry, ik d8 dat ik dat aan het begin van dit topic al duidelijk had gemaakt:

Ik ben bezig met de site van de vereniging. Het is een scriptje dat aftelt tot de nieuwe avond. de datums die ik eerder genoemd heb zijn willekeurig genoemt. in werkelijkheid zijn de avonden of om de 2, of om de 3 weken. vandaar dat er nog al eens een gebel en gemail over is, dus ik wilde gewoon een duidelijke counter op de site hebben...

Ik hoop dat het duidelijker is:

de data verschillen alleen. het event is steeds gelijk.

groet bas
ok jan,

alvast bedankt voor je eerste opzetje.

Ik ben samen met mijn pa aan het knutselen gegaan. Het had nog heel wat voeten in aarde, omdat je er rekening mee moet houden dat als het nu 8 uur s'avonds is dat dan de dag niet meer geteld wordt omdat je geen 24 uur meer hebt voor de vastgestelde datum. Hier het uiteindelijke scriptje (kan wat zooi in zitten):

<?php

function count_down($dag, $maand, $jaar, $event)
{
// Bereken datum
$date_time = mktime(0, 0, 0, $maand, $dag, $jaar);
// bepaal huidige datum en tijd
$time_now = time();
// bepaal van vandaag de: dag, maand, jaar
$vandaag = getdate($time_now);
$vmaand = $vandaag['mon'];
$vdag = $vandaag['mday'];
$vjaar = $vandaag['year'];
// maak nieuwe timestamp zonder uren en minuten
$date_now = mktime(0, 0, 0, $vmaand, $vdag, $vjaar);
$cd_remaining_time = $date_time-$date_now;
$cd_remaining_days = round($cd_remaining_time/84600);

if($cd_remaining_days == 01 || $cd_remaining_days == 1)
{
$days_text = "dag";
}
else
{
$days_text = "dagen";
}

if($cd_remaining_days > 0) {
$text = "Nog <b>".$cd_remaining_days."</b> ".$days_text." ".$event." ";
}
else {
if($cd_remaining_days < 0) {
$text = '';
}
else {
$text = 'Let op vanavond vereniging!';
}
}

return $text;
}


function readfile_chunked ($filename) {
$event = "tot de volgende vereniging avond";
$chunksize = 1*(500); // how many bytes per chunk
$buffer = '';
$handle = fopen($filename, 'rb');
if ($handle === false) {
return false;
}
while (!feof($handle)) {
$buffer = fgets($handle, $chunksize);
$year = substr($buffer, 0, 4);
$month = substr($buffer, 4, 2);
$day = substr($buffer, 6, 2);

$count_down_text = count_down($day, $month, $year, $event);
if ($count_down_text <> '') {
print $count_down_text;
break;
}
}
return fclose($handle);
}

readfile_chunked("data.txt");

?>

Het werkt!!!

Bedankt voor jullie hulp van alle kanten!

groet Bas
even een impressie van data.txt:

20051001
20051030
20051105
20051119
ect.
Heb je timestamps? Dat is heel goed!
Die zijn naar alle data te 'vertalen'.

Reageren