counter
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
voor enke het jaar of
voor de excate datium van vandaag
die "eerstvolgende datum" in je tekstbestandje, hoe ziet die er precies uit?
05-02-2005
10-02-2005
15-02-2005
.....
zon lijstje.
thijs, ik zal je scriptje even bekijken
alvast bedankt.
bas
groet bas
Notice: Undefined variable: countdown_event in C:\Inetpub\wwwroot\a\index.php on line 29
Notice: Undefined variable: board_config in C:\Inetpub\wwwroot\a\index.php on line 29
Nog 50 dagen (01-01-1970)
helup
thijs, wil je even reageren. jij weet het meeste van dit scriptje denk ik...
dat wil niet zeggen dat anderen niet mogen reageren...
Bas:
het scriptje werkt alleen niet......
Notice: Undefined variable: countdown_event in C:\Inetpub\wwwroot\a\index.php on line 29
Notice: Undefined variable: board_config in C:\Inetpub\wwwroot\a\index.php on line 29
Nog 50 dagen (01-01-1970)
helup
Notice: Undefined variable: countdown_event in C:\Inetpub\wwwroot\a\index.php on line 29
Notice: Undefined variable: board_config in C:\Inetpub\wwwroot\a\index.php on line 29
Nog 50 dagen (01-01-1970)
helup
Deze meldingen geven aan dat deze variabelen niet bekend zijn. Mogelijk moet je $countdown_event hernoemen naar $event. Maar de board_config kan ik niet plaatsen.
Ik zal eens even kijke naar het script, je hebt dus je data zo staan?
05-02-2005
10-02-2005
15-02-2005
En verder heb je er niks in ? Waar gaat het precies over wat is er dan ?
Gewijzigd op 24/10/2005 18:59:00 door Thijs X
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)
maar dat is toch gek, wil je niet een soort naam erbij hebben van WAT er dan gebeurt over zoveel nachtjes slapen?
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
alvast bedankt voor je eerste opzetje.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?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");
?>
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
20051001
20051030
20051105
20051119
ect.
Die zijn naar alle data te 'vertalen'.