Datensätze nach einlesen von Text-Datenbank sortieren

-GS-Master

Erfahrenes Mitglied
Hallo, ich habe mir ein Script geschrieben, welches auf einer Text-Datenbank aufbaut.
Ich weiß, dass es einerseits leichter ist auf MySql aufzubauen, jedoch finde ich es dann immer beim Server-Wechsel sehr umständlich ...

Jetzt wollt ich fragen, wie ich am besten die Datensätze einer Textdatei sortieren lassen kann. Ich habe das Problem, dass ich dies nicht genau weiß ... bei MySql geht dies ja über eine Tabelle etc.

Meine Textdatei ist wie folgt aufgebaut:
Datum|-|Name|-|Nachnahme|-|Text
Datum|-|Name|-|Nachnahme|-|Text
Datum|-|Name|-|Nachnahme|-|Text
Datum|-|Name|-|Nachnahme|-|Text

Jetzt wollt ich dies nach Datum sortieren lassen und dann mit hilfe dieses Scripts ausgeben ...

PHP:
<?php
// welche endungen die Templates haben
function gettemplate($template,$endung="html") 
{ 
return str_replace("\"","\\\"",implode("",file($template.".".$endung))); 
} 
function dooutput($template) { 
echo $template; 
} 
// Datei einlesen ...
$datei = "Termine/Training/files/training.txt"; 

if(file_exists($datei)) 
{ 
// Datensätze zählen
$termin = file($datei); 
$anzahl = count($termin); 

// Hier müssten jetzt die Datensätze von $termin
// sortiert werden

for($index = 0; $index < $anzahl; $index++) 
{ 

// Datensätze Teilen
$eintrag = explode("|-|",termin[$index]); 
$Zeile1 = $eintrag[0];
$Zeile2 = $eintrag[1];
$Zeile3 = $eintrag[2];
$Zeile4 = $eintrag[3];


// Datensätze über Templates ausgeben
eval ("\$str .= \"".gettemplate("Termine/Training/templates/wiederholung")."\";"); 
} 
eval ("dooutput(\"".gettemplate("Termine/Training/templates/Layout")."\");"); 
} 
else 
{ 
echo"<center>Zurzeit findet kein Training statt</center>"; 
} 

?>
 
Also damit du sortieren kannst, musst du den (einen) Datensatz trotzdem erst "teilen".

Tipp: Das sind dann Spalten, keine Zeilen.

Wie ist dein Datum aufgebaut, sprich welches Format hat es?

Du musst deine Daten in ein Array packen und dann kannst du es sortieren.
Ich hoffe, ich hab dich richtig verstanden und ich konnte dir ein bisschen helfen.

Bsp.:

PHP:
datum[0] = 20060211 // 11.02.2006
datum[1] = 20070105 // 05.01.2007
datum[2] = 20050131 // 31.01.2005
datum[3] = 20040809 // 09.08.2004

sort(datum);
Funktion sort()
 
Zurück