Dette er fortsættelsen af en tråd fra dk.edb.internet.clientside.
KLIPPET
> Hej Kurt!
>
> De ser meget fint ud og er velegnet til min kones anvendelse. Jeg har
> lovet hende at hun får det ind på hjemmesiden når det virker. Hun skal
> derefter selv lave nye datoer/arrangementer til tekstfilen (mødelisten).
>
> Har du selve scriptet som "læser" tekstfil (Er det en .txt-fil?)
>
> hilsen
> Peter
Jeg har det både som ASP og PHP. Men da ASP nok er på retur, vil jeg
foreslå, at vi flytter 'samtalen' over i PHP-gruppen!
Mvh Kurt
Her er listningen til min funktion til at lave en tabel med møder.
Der er brugt to underfoldere til billeder, een til de billeder, som hører
til 'ordinære' møder (arkivaften) og een for billeder til foredrag
(moedepic)!
Teksfilen med oplysningerne om møderne hedder program.txt og ligger i samme
folder som funktionsfilen. Opbygningen af denne fil ses her:
// Linier som begynder med //, vises ikke
// Måneden skal skrives med et tal
// Rækkefølgen skal være stigende efter dato, da den automatiske visning
viser det første arrangement, hvor datoen er senere end dags dato.
// Vil du i et af tekstfelterne have en ny linie, indsætter du <br> i
linien. Ligeledes kan du bruge andre HTML-markører, f.eks. <b>-</b>
// Felternes rækkefølge er:
Mødetype|År|Dag|Dato|Måned|Tid|Beskrivelse|Billedefilnavn|Billedtekst|
// Jeg har brugt to mødetyper, 0 til foredrag og lignende og 1 til ordinære
klubmøder.
// Eks:
1|2010|Mandag|29|11|19-21|<b>Arkivaften</b><br>Vi higer og søger. Hyggeligt
arbejdssamvær på Arkivet.<br>Harry sørger for kaffen|arkivaften.jpg|Fra en
arkivaften|
0|2010|Onsdag|8|12|19.30|<b>Lysbilleder om Sahl kirke og dens gyldne
alter</b><br>Kristian Knudsen, Vinderup, viser og fortæller<br>Medbring
kaffe|Sahl.jpg|Sahl Kirke|
Datosammenligningen er noget amatøragtig, men den fungerer upåklageligt. Den
stammer fra ASP-udgaven; jeg fandt aldrig en funktion i ASP til at
sammenligne datoer, så det blev på denne måde!
Mvh Kurt
<?php
//-----------------------------------------------------
//------ Vis alle møder efter dags dato. ------
//-----------------------------------------------------
Function visallemoeder()
{
// Lav først en liste over billedfilerne
// Open images directory
$dir = opendir($_SERVER['DOCUMENT_ROOT']."/moeder/arkivaften");
// Overfør filer i images directory til $NameArray
while (($file = readdir($dir)) != false)
{
$Streng = Trim($file);
If (strripos($Streng ,".jpg") != "")
{$NameArray[] = $Streng ;}
}
closedir($dir);
//----- Åbn tekstfilen med aktivitetsprogrammet og -----
//----- overfør linierne til et array ved navn $felter -----
$fil = fopen($_SERVER['DOCUMENT_ROOT']."/testmoeder/program.txt","r");
while(!feof($fil))
{
$streng = fgets($fil);
if (substr($streng,0,2) !="//") //Det er ikke en kommentar
{
$felter[] = $streng;
}
}
fclose($fil);
//---------- Lav overskriften ----------
Echo "<font size='2'>";
?>
<table border="1" width="660" cellpadding="4" style="border-collapse:
collapse">
<tr>
<td width="760" bgcolor='#FFFF80' colspan="4">
<p style="text-align: center">
<font size="4"><b>Møder i XXXX Forening<br>
</b></font><font size="2"><b>Hvor intet andet er nævnt, holdes møderne
på Arkivet</b></font></td>
</tr>
<tr>
<td width="50" bgcolor='#FFFF80' align="center"><b>År</b></td>
<td width="150" bgcolor='#FFFF80' align="center"><b>Dato</b></td>
<td width="360" bgcolor='#FFFF80' align="center"><b>Arrangement</b></td>
<td width="200" bgcolor='#FFFF80' align="center"><b> </b></td>
</tr>
<?php
//------------ Find dags dato -----------------
$nu = getdate();
$nowaar = $nu["year"];
$nowmaaned = $nu["mon"];
$nowdag = $nu["mday"];
$nowtal = $nowdag+($nowmaaned*100)+($nowaar*10000);
$forrige = 0;
$taeller = 0;
For ($loop=0; $loop < count($felter)-1; $loop++)
{
//Se efter, om tidspunktet i programmet er senere end dags dato
//Felternes rækkefølge i program.txt er (feltnummer-feltbetegnelse):
0-Type|1-År|2-Dag|3-Dato|4-Måned|5-Tid|6-Beskrivelse|7-billedefilnavn|8-billedtekst
$MoedeArray = explode("|",$felter[$loop]);
$aar = $MoedeArray[1];
$maaned = $MoedeArray[4];
$dag = $MoedeArray[3];
$tal = $dag+($maaned*100)+($aar*10000);
$dif = $tal-$nowtal;
If ($nowtal <= $tal) //Programpunkt efter dags dato
{
//---Giv hveranden linie ny baggrundsfarve---
$taeller++;
$rest = $taeller % 2;
if ($rest == 0) {$bgfarve="#FFFFb0";}else{$bgfarve="#FFFFd0";}
echo "<tr>";
echo "<td width='50' valign='top' bgcolor='$bgfarve'
align='center'>".$MoedeArray[1]."</td>";
echo "<td width='150' valign='top' bgcolor='$bgfarve'>".$MoedeArray[2]."
d. ".$MoedeArray[3]."/".$MoedeArray[4]."<br>Kl. ".$MoedeArray[5]."</td>";
echo "<td width='360' valign='top'
bgcolor='$bgfarve'>".$MoedeArray[6]."</td>";
echo "<td width='200' valign='top' bgcolor='$bgfarve' align='center'>";
if ($MoedeArray[0] == "1") //Det er en arkivaften
{
$billed_nr = rand(0,count($NameArray)-1);
$BilledStreng = $NameArray[$billed_nr];
echo "<img border='1' <img src='arkivaften/".$BilledStreng ."'
alt='Billede fra arkivaften'>";
If ($MoedeArray[8] != "")
{
echo "<br>".$MoedeArray[8]."<br>"; //Skriv billedtekst
}
else
{
echo "<br>Fra en arkivaften!<br>"; //Skriv default billedtekst
}
}
else
{ // Det er et foredrag eller lignende
//Vis et billede, hvis der er et.
If ($MoedeArray[7] != "") //Feltet er ikke tomt, der er et billede
{
$Streng = $MoedeArray[7];
echo "<img border='0' <img src='moedepic/".$Streng."' alt='Billede:
".$MoedeArray[7]."'>";
echo "<br>".$MoedeArray[8]."<br>"; //Skriv billedtekst
}
}
echo "</td>";
echo "</tr>";
}
}
echo "</table></font>";
} //Slut på funktionen visallemoeder
?>
|