Hallo,
ich bin absoluter PHP Neuling und versuche mich jetzt schon seit Tagen daran, XML Daten die ich mit simplexml eingelesen habe zu sortieren.
Trotz intensiver Suche im Forum und im WEB habe ich bislang keine Lösung gefunden.
Wenn ich die Hinweise und Artikel im Netz richtig deute, muss ich meine Daten in ein Array schreiben und kann sie anschließend vor der Ausgabe sortieren. Meine Versuche dies zu tun sind bisher kläglich gescheitert. Ich glaube ich drehe mich total im Kreis.
Hier mal meine XML Datei:
und meine PHP-Datei:
Ich möchte die Ausgabe gerne nach "SpielDatum" sortieren.
Versucht habe ich schon folgendes:
Dies haut aber nicht hin.
Es wäre super, wenn ihr mir auf die Sprünge helfen könntet.
ich bin absoluter PHP Neuling und versuche mich jetzt schon seit Tagen daran, XML Daten die ich mit simplexml eingelesen habe zu sortieren.
Trotz intensiver Suche im Forum und im WEB habe ich bislang keine Lösung gefunden.
Wenn ich die Hinweise und Artikel im Netz richtig deute, muss ich meine Daten in ein Array schreiben und kann sie anschließend vor der Ausgabe sortieren. Meine Versuche dies zu tun sind bisher kläglich gescheitert. Ich glaube ich drehe mich total im Kreis.
Hier mal meine XML Datei:
HTML:
<?xml version="1.0" standalone="yes"?>
<NaechsteSpiele>
<Spiel>
<SpielDatum>2008-03-09T00:00:00+01:00</SpielDatum>
<Heim>ABC</Heim>
<Gast>BCD</Gast>
<HallenName>Gesamtschule</HallenName>
<LigaName>Kreisklasse</LigaName>
</Spiel>
<Spiel>
<SpielDatum>2008-08-23T00:00:00+02:00</SpielDatum>
<Heim>DGL</Heim>
<Gast>ABC</Gast>
<HallenName>Grundschule</HallenName>
<LigaName>Vorrunde</LigaName>
</Spiel>
<Spiel>
<SpielDatum>2008-08-21T00:00:00+02:00</SpielDatum>
<Heim>GHK</Heim>
<Gast>ABC</Gast>
<HallenName>Schulzentrum</HallenName>
<LigaName>Jungen Vorrunde</LigaName>
</Spiel>
<Spiel>
<SpielDatum>2008-08-31T00:00:00+02:00</SpielDatum>
<Heim>ABC</Heim>
<Gast>LKH</Gast>
<HallenName>unbekannt</HallenName>
<LigaName>Vorrunde A</LigaName>
</Spiel>
<Spiel>
<SpielDatum>2008-08-31T00:00:00+02:00</SpielDatum>
<Heim>ABC</Heim>
<Gast>NBV</Gast>
<HallenName>Gesamtschule</HallenName>
<LigaName>Kreisliga</LigaName>
</Spiel>
<Spiel>
<SpielDatum>2008-08-03T00:00:00+02:00</SpielDatum>
<Heim>JSG</Heim>
<Gast>TVE</Gast>
<HallenName>unbekannt</HallenName>
<LigaName>Hauptrunde</LigaName>
</Spiel>
<Spiel>
<SpielDatum>2008-09-31T00:00:00+02:00</SpielDatum>
<Heim>TuS</Heim>
<Gast>JSG</Gast>
<HallenName>unbekannt</HallenName>
<LigaName>Hauptrunde</LigaName>
</Spiel>
<Spiel>
<SpielDatum>2008-08-31T00:00:00+02:00</SpielDatum>
<Heim>JSG</Heim>
<Gast>TuP</Gast>
<HallenName>unbekannt</HallenName>
<LigaName>Hauptrunde</LigaName>
</Spiel>
</NaechsteSpiele>
und meine PHP-Datei:
PHP:
<?php
$xml = simplexml_load_file('text.xml');
foreach ($xml->Spiel as $out)
{
echo "<html><head></head><body>";
echo "<table>";
echo "<tr>";
setlocale(LC_TIME, 'de_DE');
echo "<td>";
echo (strftime('%a, %d.%m.%y', strtotime ($out->SpielDatum)));
echo "</td>";
echo "<td>";
echo utf8_decode ($out->Heim);
echo "</td>";
echo "<td>";
echo " - ";
echo "</td>";
echo "<td>";
echo utf8_decode ($out->Gast);
echo "</td>";
echo "<td>";
echo " - ";
echo "</td>";
echo "<td>";
echo utf8_decode ($out->HallenName);
echo "</td>";
echo "</tr>";
echo '</table>';
echo "</body></html>";
}
?>
Ich möchte die Ausgabe gerne nach "SpielDatum" sortieren.
Versucht habe ich schon folgendes:
PHP:
$sort = array();
foreach ($xml->Spiel as $platz) {
$sort[(string)$platz['SpielDatum']] = $platz;
ksort($sort);
Dies haut aber nicht hin.
Es wäre super, wenn ihr mir auf die Sprünge helfen könntet.