PDA

Bekijk Volledige Versie : Alleen nieuwe artikelen weergeven



martin -
24/04/06, 20:40
Beste nieuwsgroep.

Om wedstrijdverslagen te kunnen plaatsen kunnen leden inloggen op een
formuliertje met velden als naam, datum en verslag. Het resultaat wordt
opgeslagen als nieuw bestand met velden als $auteur, $datum en $verslag.

Via het volgende script wordt alleen het laatste script weergegeven op
bijvoorbeeld de voorpagina:

************** begin script **************

<?php

$ArtikelenMap = "database/";
$ArtikelenBestand = "verslagen.php";

$bestanden = array();
$map = opendir($ArtikelenMap);
while ($file = readdir($map)) { if($file != "index.php" &&
strstr($file,"php")) { $bestanden[] =
filemtime("$ArtikelenMap$file")."|$file"; } }
closedir($map); rsort($bestanden);

$i = 0;
while(list($nr,$waarde) = each($bestanden)) {
if($i < 1) {
list($tijd,$file) = explode("|",$waarde);
include("$ArtikelenMap$file");
$file = eregi_replace('.php$','',$file);
echo("<li><a
href='$ArtikelenBestand$T"."artikel=$file'>$Titel</a>($datum)</li>");
$i++;
}
}

?>


************** einde script **************

Ik wil graag een regel ertussen dat naar de datum kijkt. Als het veld $datum
langer dan 14 dagen geleden moet het script niets doen, binnen 14 dagen moet
die het
"echo("<li><a
href='$ArtikelenBestand$T"."artikel=$file'>$Titel</a>($datum)</li>");"
gedeelte uitvoeren.

Dan worden namelijk alleen verslagen jonger dan 14 dagen weergegeven.

Wie wil dat voor mij inbouwen? Bovenstaande script komt van een site af,
maar daar heb ik nog geen antwoord op mijn vraag.

Alvast bedankt!!!

Martin.

--
Begin je eigen internet radiozender met SHOUTcast
http://www.winampnederlands.nl/handleidingen

Herbert Groot Jebbink
24/04/06, 22:40
> Als het veld $datum langer dan 14 dagen geleden

dan moeten we wel weten wat de layout van $datum is. Met een beetje
mazel is het iets dat herkent wordt door de funktie strtotime en dan zou
het onderstaande kunnen werken.

if (strtotime($datum) > time() - (14*24*60*60) ) {
$file = eregi_replace('.php$','',$file);
echo("<li><a
href='$ArtikelenBestand$T"."artikel=$file'>$Titel</a>($datum)</li>");
}

hgj

--
Doe mee met de W2K6.nl pool.
Gratis deelname, 4 MP3 spelers van 4 GB te winnen.
http://w2k6.nl/?page=pool

martin -
25/04/06, 08:00
Hieronder volgt een reactie op dit bericht:
>> Als het veld $datum langer dan 14 dagen geleden
>
> dan moeten we wel weten wat de layout van $datum is. Met een beetje
> mazel is het iets dat herkent wordt door de funktie strtotime en dan
> zou het onderstaande kunnen werken.

Was ik nog even vergeten te vertellen: de datum wordt opgeslagen als
DD-MM-YYYY.

> if (strtotime($datum) > time() - (14*24*60*60) ) {
> $file = eregi_replace('.php$','',$file);
> echo("<li><a
> href='$ArtikelenBestand$T"."artikel=$file'>$Titel</a>($datum)</li>");
> }

Dit werkt niet (geen error ofzo, maar het artikel blijft gewoon zichtbaar).

Alvast bedankt.

Martin.

Herbert Groot Jebbink
25/04/06, 18:40
martin - wrote:

>>> Als het veld $datum langer dan 14 dagen geleden
>>
>> dan moeten we wel weten wat de layout van $datum is. Met een beetje
>> mazel is het iets dat herkent wordt door de funktie strtotime en dan
>> zou het onderstaande kunnen werken.
>
> Was ik nog even vergeten te vertellen: de datum wordt opgeslagen als
> DD-MM-YYYY.
>
>> if (strtotime($datum) > time() - (14*24*60*60) ) {
>> $file = eregi_replace('.php$','',$file);
>> echo("<li><a
>> href='$ArtikelenBestand$T"."artikel=$file'>$Titel</a>($datum)</li>");
>> }
>
> Dit werkt niet (geen error ofzo, maar het artikel blijft
> gewoon zichtbaar).

Dan maken we er eerst een geldige input datum voor strtotime van.

$work = substr($datum, 6, 4) . '/'
. substr($datum, 3, 2) . '/'
. substr($datum, 0, 2);

if ( strtotime($work) > time() - (14*24*60*60) ) {

hgj

--
Doe mee met de W2K6.nl pool.
Gratis deelname, 4 MP3 spelers van 4 GB te winnen.
http://w2k6.nl/?page=pool

martin -
25/04/06, 19:20
Hieronder volgt een reactie op dit bericht:
[..]

> hgj

Bedankt, alles werkt nu naar wens!

Groetjes Martin