daten auslesen in template, mit seitenfunktion, wie die jetzt nach datum sortieren ?

-GS-Master

Erfahrenes Mitglied
hallöchen ich hab mir mal ein script geschrieben nun ja ich hab da eine zeile drinnen, in der man das datum einer veranstalltung eingibt. das ganze sieht im template dann so aus

-----------------------------------------
datum | veranstalltung | ort |
------------------------------------------

ich hab zurzeit das ganze so sortiert, dass der neuste eintrag oben ist, wenn man aber dann viele einträge hat und eben einen neuen eintragen will, müsste man also erstmal die kommten löschen um den eintragen zu koennen ^^ wisst ihr, wie ich die ausgabe jetzt nach datum machen koennte ?

PHP:
<?php
define("PER_PAGE", 4);
$datei = "GS/files/termine.txt"; 

if(file_exists($datei)) {
    $termin = file($datei); 
    $anzahl = count($termin);
    $ende = ceil($anzahl/PER_PAGE);
    echo getPageContent($termin, $anzahl);
    $navi = naviGenerator($ende);
    eval ("dooutput(\"".gettemplate("GS/templates/Layout")."\");"); 
} else { 
    echo"Es wurde keine Datei gefunden"; 
}
function getPageContent($fl, $cnt) {
    $continue = ($_GET['page']-1) * PER_PAGE;
    $i=0; $j=0; $entries = "";
    while($i<$cnt) {
        if(is_numeric($_GET['page'])) {
            if($j < $continue) {
                $j++;
                continue;
            }
            if($j >= PER_PAGE * $_GET['page']) { 
                break;
            }
        }
        if($fl[$j] != null) {
            list($Zeile1, $Zeile2, $Zeile3) = explode("|-|", $fl[$j]);
            eval ("\$entries .= \"".gettemplate("GS/templates/wiederholung")."\";"); 
        } else {
            break;
        }
        $i++; $j++;
    }
    return $entries;
}
function naviGenerator($end) {
    for($i=1; $i<=$end; $i++) {
        $nav .= "<a href=\"?page=".$i."\">".$i."</a> ";
    }
    return "< ".$nav." >";
}
function gettemplate($template,$endung="html") 
{
    $f = file($template.".".$endung);
    return str_replace("\"","\\\"", implode("", $f)); 
} 
function dooutput($template) { 
    echo $template; 
}
?>

nun ja ^^ dann hab ich noch ne frage und zwar ob ihr wisst wie ich das mache, dass eben das script erst durch die layout.html geht, weil in der ist zurzeit leider nur navi, der rest wird hierdurch ausgegeben ... möchte aber eben wie hier, dass es dann in der layout.html ausgegeben wird

PHP:
<?php

function gettemplate($template,$endung="html") 
{ 
return str_replace("\"","\\\"",implode("",file($template.".".$endung))); 
} 
function dooutput($template) { 
echo $template; 
} 

$datei = "GS/files/termine.txt"; 

if(file_exists($datei)) 
{ 
$termin = file($datei); 
$anzahl = count($termin); 
for($index = 0; $index < $anzahl; $index++) 
{ 
$eintrag = explode("|-|",$termin[$index]); 
$Zeile1 = $eintrag[0];
$Zeile2 = $eintrag[1];
$Zeile3 = $eintrag[2];
$Zeile4 = $eintrag[3];
eval ("\$str .= \"".gettemplate("GS/templates/wiederholung")."\";"); 
} 
eval ("dooutput(\"".gettemplate("GS/templates/Layout")."\");"); 
} 
else 
{ 
echo"Es wurde keine Datei gefunden"; 
} 

?>
 
Zuletzt bearbeitet:
Am besten steigst du auf ein richtiges Datenbanksystem um. Mit dem lassen sich die Daten viel einfacher und besser verwalten.
Übrigens kannst du die vielen umständlichen eval()-Konstrukte vereinfachen. Aus
PHP:
eval ("dooutput(\"".gettemplate("GS/templates/Layout")."\");");
würde beispielsweise
PHP:
dooutput(gettemplate("GS/templates/Layout"));
Ich glaube auch, dass ich dich darauf bereits hingewiesen hab.
 
Gumbo hat gesagt.:
Am besten steigst du auf ein richtiges Datenbanksystem um. Mit dem lassen sich die Daten viel einfacher und besser verwalten.
Übrigens kannst du die vielen umständlichen eval()-Konstrukte vereinfachen. Aus
PHP:
eval ("dooutput(\"".gettemplate("GS/templates/Layout")."\");");
würde beispielsweise
PHP:
dooutput(gettemplate("GS/templates/Layout"));
Ich glaube auch, dass ich dich darauf bereits hingewiesen hab.

das hab ich ersetzt, da braucht mein script immer noch nicht die layout.html um das ganze wieder zu geben ... mir wird dann nur die navi nicht mehr angezeigt ... ich glaub das hängt mit dem hier zusammen

list($Zeile1, $Zeile2, $Zeile3) = explode("|-|", $fl[$j]);
eval ("\$entries .= \"".gettemplate("GS/templates/wiederholung")."\";");
} else {
break;
}
$i++; $j++;
}
return $entries;
 
Zurück