Nach Datum sortiert anzeigen aus Array
Connor
- php
Ich habe folgende Datei und möchte aus dieser die Ergenisse nach Datum sortiert anzeigen lassen:
$ergebnisse = array(
'öm' => array('öm#playvboy51=0:0|02.05.2010, 11:54:08 <sup>*</sup>','öm#bernd67=3:1|02.05.2010, 13:55:36','öm#carpi 86=1:3|02.05.2010, 14:18:21','öm#PekingPeter=0:3|02.05.2010, 14:56:48','öm#Reimarus=2:3|02.05.2010, 20:52:14','öm#Aas53=3:2|06.05.2010, 21:53:15','öm#Elwis70=2:3|06.05.2010, 22:15:25','öm#x Knuddels All Star x <3=0:0|11.05.2010, 14:02:44 <sup>*</sup>','öm#ConnorMcleod=3:2|11.05.2010, 19:55:07','öm#xylem=0:3|11.05.2010, 20:07:55','öm#Lehmann@Jens=2:3|11.05.2010, 21:10:07','öm#TheKingOfCool=1:3|11.05.2010, 21:21:20','öm#frischer wind2005=1:3|13.05.2010, 12:36:31','öm#billardfloh=3:1|13.05.2010, 21:28:24'),
'PekingPeter' => array('PekingPeter#playvboy51=0:0|02.05.2010, 11:54:38 <sup>*</sup>','PekingPeter#bernd67=1:3|02.05.2010,13:18:50','PekingPeter#öm=3:0|02.05.2010, 14:56:48','PekingPeter#carpi 86=3:2|02.05.2010, 14:57:15','PekingPeter#Reimarus=3:2|02.05.2010, 19:54:29','PekingPeter#Elwis70=3:2|02.05.2010, 20:24:25','PekingPeter#ConnorMcleod=3:1|03.05.2010, 11:16:16','PekingPeter#TheKingOfCool=2:3|04.05.2010, 17:01:13','PekingPeter#billardfloh=3:0|04.05.2010, 20:57:36','PekingPeter#Aas53=3:1|06.05.2010, 21:26:03','PekingPeter#xylem=3:2|10.05.2010, 15:17:32','PekingPeter#x Knuddels All Star x <3=0:0|11.05.2010, 14:02:59 <sup>*</sup>','PekingPeter#Lehmann@Jens=0:3|11.05.2010, 20:47:32'),
'xX StyLer PrinZ DeluxXe Xx' => array('xX StyLer PrinZ DeluxXe Xx#Reimarus=1:3|01.05.2010, 22:06:39','xX StyLer PrinZ DeluxXe Xx#playvboy51=0:0|02.05.2010, 11:54:54 <sup>*</sup>','xX StyLer PrinZ DeluxXe Xx#Aas53=1:3|09.05.2010, 10:35:28','xX StyLer PrinZ DeluxXe Xx#billardfloh=0:3|09.05.2010, 10:41:02','xX StyLer PrinZ DeluxXe Xx#ConnorMcleod=3:2|09.05.2010, 10:55:51','xX StyLer PrinZ DeluxXe Xx#bernd67=3:2|09.05.2010, 11:09:24','xX StyLer PrinZ DeluxXe Xx#x Knuddels All Star x <3=0:0|11.05.2010, 14:03:12 <sup>*</sup>','xX StyLer PrinZ DeluxXe Xx#Elwis70=3:0|11.05.2010, 17:55:30','xX StyLer PrinZ DeluxXe Xx#frischer wind2005=3:2|14.05.2010, 18:52:42')
)
Leider klappt das so nicht:
setlocale(LC_ALL, 'de_DE@euro');
include("ergebnisse.php"); // Name der Datei
# print "Los\n";
$last_character = null;
foreach($ergebnisse as $tmp_ergebnisse)
{
#print "Der Key: " . $key . "<br />\n";
#print "Ergebnisse:<br />\n";
foreach ($tmp_ergebnisse as $ergebnis)
{
list ($tmp_spiel, $datum_uhrzeit) = explode("|", $ergebnis);
list ($datum,$uhrzeit ) = explode (",",$datum_uhrzeit);
#echo "DATUM korrekt? ".$datum."<br>";
list ($tmp_spiel, $spielstand) = explode("=", $tmp_spiel);
list ($erg1,$erg2) = explode (":",$spielstand);
#echo $erg1.":",$erg2;
list ($name1, $name2) = explode("#", $tmp_spiel);
trim($datum);
$character = $datum;
if($erg1>$erg2) {
if ($last_character != $character) {
echo '<br><tr><td><b>Spieltag: ' . $character . '</b></td><td><a href="#"><h7><b><left> TOP</left></b></h7></a>' . '<br></td></tr>';
}
echo "<table class=\"linie\" width=\"700px\"><tr>";
echo "<td class=\"linie\" width=\"10px\">" . $datum . "</td>";
echo "<td class=\"linie\" width=\"10px\">" . $uhrzeit . "</td>";
# echo "<td class=\"linie\" width=\"10px\">" . $spielstand . "</td>";
echo "<td class=\"linie\" width=\"90px\">" . $name1 . "</td>";
echo "<td class=\"linie\" width=\"90px\">" . $name2 . "</td>";
# echo "<td class=\"linie\" width=\"160px\">" . $sp2 . "</td>";
echo "<td class=\"linie\" width=\"10px\"><center>" . $erg1 . "</center></td>";
echo "<td class=\"linie\" width=\"5px\"><center>:</center></td>";
echo "<td class=\"linie\" width=\"10px\"><center>" . $erg2 . "</center></td>";
# echo "<td class=\"linie\" width=\"0\"></td>";
# echo "<td>$ip</td>";
# echo "<td class=\"linie\" width=\"90px\"><center>" . $Evon . "</center></td>";
# echo "<td class=\"linie\" width=\"0\">top</td>";
echo "</tr></table>";
// neuen Vergleichswert setzen
$last_character = $character;
}
}
# print $datum_uhrzeit . " - " . $spielstand . " - " . $name1 . " - " . $name2 . "<br />\n";
}
Moin!
Ich habe folgende Datei und möchte aus dieser die Ergenisse nach Datum sortiert anzeigen lassen:
$ergebnisse = array(
Leider klappt das so nicht:
Du hast keine Datei, sondern einen Array, in welchem die Daten in der dafür denkbar ungünstigsten Form vorliegen.
Setze dort an, wo Du den Array tatsächlich "baust".
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Moin!
Ich habe folgende Datei und möchte aus dieser die Ergenisse nach Datum sortiert anzeigen lassen:
$ergebnisse = array(
Leider klappt das so nicht:
Du hast keine Datei, sondern einen Array, in welchem die Daten in der dafür denkbar ungünstigsten Form vorliegen.
Setze dort an, wo Du den Array tatsächlich "baust".
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Danke für deine Antwort. Leider hab ich diese Datei/Array leider nur in dieser Form vorliegen, da diese aus einer Anderen Anwendung kommt .)
Moin!
Danke für deine Antwort. Leider hab ich diese Datei/Array leider nur in dieser Form vorliegen, da diese aus einer Anderen Anwendung kommt .)
Und wo hat die andere Anwendung die Daten her?
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Danke für deine Antwort. Leider hab ich diese Datei/Array leider nur in dieser Form vorliegen, da diese aus einer Anderen Anwendung kommt .)
Und wo hat die andere Anwendung die Daten her?
Wohin soll das führen?
Danke für deine Antwort. Leider hab ich diese Datei/Array leider nur in dieser Form vorliegen, da diese aus einer Anderen Anwendung kommt .)
Und wo hat die andere Anwendung die Daten her?
Wohin soll das führen?
Siehe bitte meinen Post von eben :)
Es ist ja so das ich die Daten bekomme, nur ist immo die Sortierung wie folgt:
Datum (aufsteigend) und Erster Spieler Name, dann.....
Datum (aufsteigend nächster Spieler Name.
Es soll aber so sein:
Datum (aufsteigend) und dann dort alle gespielten Begegnungen an DIESEM Tag.
und nur die Sieger (das klappt ja auch mit meiner IF-Abfrage)
Ich werd noch bekloppt. Habe seit 2 Monaten dutzende php Manuals gelesen, finde aber leider nichts was mir hilft
Hier für euch mal der link zur Tabelle:
http://connormcleod.saarmikey.de/9-ball/9-ball-tuni-1/index.php#Tab
Ganz unten seht ihr den Teil der nicht hinhaut.
Moin!
Ich würde Dir sehr empfehlen, den Array gründlich aufzuräumen:
print_r($ergebnisse);
$arSpieler=array_keys($ergebnisse);
foreach ($arSpieler as $strSpieler) {
$arSpiele=$ergebnisse[$strSpieler]; # Zur Vereinfachung des Folgenden
foreach ($arSpiele as $strSpiel) {
list ($dummy,$rest)= explode('#', $strSpiel,2);
list ($strGegner, $rest) = explode('=', $rest,2);
list ($strErgebnis, $rest) = explode('|', $rest,2);
$arErgebnis=explode(':',$strErgebnis); # Eventuell soll ja noch ein Ranking berechnet werden
list ($strDatum, $rest) = explode(',', $rest,2);
list ($D, $M, $Y) = explode('.', $strDatum,3);
$His=str_replace(':', '', substr($rest, 0, 8));
$strUhrZeit=substr($rest, 0, 8);
$strKommentar=trim(substr($rest, 9, 10000000));
$intZeitpunkt=$Y.$M.$D.$His;
$arSpieleTemp[$intZeitpunkt]['Gegner']=$strGegner;
$arSpieleTemp[$intZeitpunkt]['DatTimeGer']=$D.'.'.$M.'.'.$Y.' '.$strUhrZeit;
$arSpieleTemp[$intZeitpunkt]['PunkteSelbst']=$arErgebnis[0];
$arSpieleTemp[$intZeitpunkt]['PunkteGegner']=$arErgebnis[1];
$arSpieleTemp[$intZeitpunkt]['Kommentar']=$strKommentar;
}
ksort ($arSpieleTemp);
$arErgebnisse[$strSpieler]=$arSpieleTemp;
}
print_r($arErgebnisse);
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Moin!
$rest=trim($rest);
$His=str_replace(':', '', substr($rest, 0, 8));
Ich sehe gerade,Deine Daten sind noch besch... als ich dachte.
Vor der Zeile:
$His=str_replace(':', '', substr($rest, 0, 8));
musst Du noch ein:
$rest=trim($rest);
einfügen, sonst führt auf Grund der wechselnden(!) Anzahl von Leerzeichen im Ausgangsarray die Funktion substr nicht zu den erwarteten Ergebnissen.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Moin!
$rest=trim($rest);
$His=str_replace(':', '', substr($rest, 0, 8));Ich sehe gerade,Deine Daten sind noch besch... als ich dachte.
Vor der Zeile:
$His=str_replace(':', '', substr($rest, 0, 8));musst Du noch ein:
$rest=trim($rest);einfügen, sonst führt auf Grund der wechselnden(!) Anzahl von Leerzeichen im Ausgangsarray die Funktion substr nicht zu den erwarteten Ergebnissen.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Hab ich gemacht. Aber ich kann die Leerzeichen noch beeinflussen :)
Hallöchen Fastix,
ich habe deinen Code nun testen können, aber leider klappte es bei der Ausgabe noch nicht.
Dann es sein das hier eine Klammer zuviel ist?
foreach($arSpieler) as $strSpieler)
und hier bekomme ich einen Offset-Fehler:
foreach ($arErgebnisse[$arSpieler] as $arSpiel) {
Könntest du mir bitte nochmal helfen?
Danke und Gruss Connor
Moin!
Dann es sein das hier eine Klammer zuviel ist?
foreach($arSpieler) as $strSpieler)
foreach($arSpieler as $strSpieler)
und hier bekomme ich einen Offset-Fehler:
foreach ($arErgebnisse[$arSpieler] as $arSpiel) {
foreach ($arErgebnisse[$strSpieler] as $arSpiel) {
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Moin!
Dann es sein das hier eine Klammer zuviel ist?
foreach($arSpieler) as $strSpieler)
foreach($arSpieler as $strSpieler)
und hier bekomme ich einen Offset-Fehler:
foreach ($arErgebnisse[$arSpieler] as $arSpiel) {
foreach ($arErgebnisse[$strSpieler] as $arSpiel) {
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Huhu fastix, und lieben Dank.
Jetzt bekomme ich auch die Ausgabe :-)
Leider ist das Ergebniss nicht wie gewünscht.
Es sollte pro Spieltag die Spiele(nur die gewonnenen) angezeigt werden die ausgetragen wurden an dem Tag und nicht wie hier: http://connormcleod.saarmikey.de/9-ball/9-ball-tuni-1/index.php#Tab
Wie man da sieht, wird zuerst der Erste Spieler nach Datum sortiert angezeigt und danach der Zweite Spieler nach Datum etc.....
Moin!
Huhu fastix, und lieben Dank.
Jetzt bekomme ich auch die Ausgabe :-)Leider ist das Ergebniss nicht wie gewünscht.
Die Ausgabe entspricht Deiner Problembeschreibung. Du hast einen besch...enen Array präsentiert und wolltest eine Lösung, wie Du diesen nach den Zeitpunkten sortieren kannst.
Du hast ein funktionierende Lösung bekommen. Diese enthält in sich eine Methode, wie Du den Array in eine denkbare und brauchbare Form transformieren kannst. Der Rest erfordert logisches Denken und ab und zu einen Blick in die PHP-Referenz. Was steht dem entgegen, dass Du jetzt Deinen eignen Grips anstrengst um das neu (und ganz anders) beschriebene Problem selbst zu lösen? Hier ist SelfHTML.org - Hilfe zur Selbsthilfe und nicht SchreibMeinScript.now
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Moin!
Huhu fastix, und lieben Dank.
Jetzt bekomme ich auch die Ausgabe :-)Leider ist das Ergebniss nicht wie gewünscht.
Die Ausgabe entspricht Deiner Problembeschreibung. Du hast einen besch...enen Array präsentiert und wolltest eine Lösung, wie Du diesen nach den Zeitpunkten sortieren kannst.
Du hast ein funktionierende Lösung bekommen. Diese enthält in sich eine Methode, wie Du den Array in eine denkbare und brauchbare Form transformieren kannst. Der Rest erfordert logisches Denken und ab und zu einen Blick in die PHP-Referenz. Was steht dem entgegen, dass Du jetzt Deinen eignen Grips anstrengst um das neu (und ganz anders) beschriebene Problem selbst zu lösen? Hier ist SelfHTML.org - Hilfe zur Selbsthilfe und nicht SchreibMeinScript.now
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Okay fastix hab dich verstanden :-)
Bin auch nicht böse. Ich werd dann mal weiter an deinem tollen Lösungsansatz arbeiten und wenn ich ich es geschafft habe werde ich es hier bekannt geben.
Vielen Dank für deine Unterstützung bis hier.
Gruss Connor
Moin!
Ich würde Dir sehr empfehlen, den Array gründlich aufzuräumen:
Suppi Danke für deine Mühe. Habs auch ausprobiert. Leider werd ich nicht so ganz schlau draus :(
Moin!
Suppi Danke für deine Mühe. Habs auch ausprobiert. Leider werd ich nicht so ganz schlau draus :(
Ist doch einfach: Ich zerpflücke den Ausgangsarray und baue einen halbwegs anständigen assoziativen Array daraus.
Mit der kleinen Änderung in https://forum.selfhtml.org/?t=198045&m=1329156 sieht der dann (nach Uhrzeit (sortiert!) so aus:
Array
(
[öm] => Array
(
[20100502115408] => Array
(
[Gegner] => playvboy51
[DatTimeGer] => 02.05.2010 11:54:08
[PunkteSelbst] => 0
[PunkteGegner] => 0
[Kommentar] => <sup>*</sup>
)
[20100502135536] => Array
(
[Gegner] => bernd67
[DatTimeGer] => 02.05.2010 13:55:36
[PunkteSelbst] => 3
[PunkteGegner] => 1
[Kommentar] =>
)
...
)
[PekingPeter] => Array
(
[20100502115408] => Array
(
[Gegner] => playvboy51
[DatTimeGer] => 02.05.2010 11:54:08
[PunkteSelbst] => 0
[PunkteGegner] => 0
[Kommentar] => <sup>*</sup>
)
...
)
...
)
jetzt musst Du nur noch den alten Array wegwerfen unset($ergebnisse) und Deine Ausgaben daraus bauen.
Wie wäre es mit:
$ausgabe="<table><tbody>";
$arSpieler=array_keys($arErgebnisse);
$sumPunkteSelbst=0;
$sumPunkteGegner=0;
foreach($arSpieler) as $strSpieler) {
$ausgabe.="<tr><th colspan=\"4\">strSpieler</th></tr>";
$ausgabe.="<tr><th>Gegner</th><th>Datum Uhrzeit</th><th>Ergebnis</th><th>Kommentar</th></tr>";
foreach ($arErgebnisse[$arSpieler] as $arSpiel) {
$ausgabe.='<tr><td>'.$arSpiel['Gegner'].'</td><td>'.$arSpiel['DatTimeGer'].'</td><td>'.$arSpiel['PunkteSelbst'].':'.$arSpiel['PunkteGegner'].'</td><td>'.$arSpiel['Kommentar'].'</td></tr>';
$sumPunkteSelbst=$sumPunkteSelbst+$arSpiel['PunkteSelbst'];
$sumPunkteGegner=$sumPunkteGegner+$arSpiel['PunkteGegner'];
$ausgabe.='<tr><td> </td><td>Gesamt:</td><td>'.$sumPunkteSelbst.':'.$sumPunkteGegner.'</td><td> </td></tr>';
}
}
$ausgabe.='</tbody></table>';
print $ausgabe;
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Moin!
Suppi Danke für deine Mühe. Habs auch ausprobiert. Leider werd ich nicht so ganz schlau draus :(
Ist doch einfach: Ich zerpflücke den Ausgangsarray und baue einen halbwegs anständigen assoziativen Array daraus.
Mit der kleinen Änderung in https://forum.selfhtml.org/?t=198045&m=1329156 sieht der dann (nach Uhrzeit (sortiert!) so aus:
Array
(
[öm] => Array
(
[20100502115408] => Array
(
[Gegner] => playvboy51
[DatTimeGer] => 02.05.2010 11:54:08
[PunkteSelbst] => 0
[PunkteGegner] => 0
[Kommentar] => <sup>*</sup>
)[20100502135536] => Array
(
[Gegner] => bernd67
[DatTimeGer] => 02.05.2010 13:55:36
[PunkteSelbst] => 3
[PunkteGegner] => 1
[Kommentar] =>
)...
)
[PekingPeter] => Array
(
[20100502115408] => Array
(
[Gegner] => playvboy51
[DatTimeGer] => 02.05.2010 11:54:08
[PunkteSelbst] => 0
[PunkteGegner] => 0
[Kommentar] => <sup>*</sup>
)
...
)...
)
>
>
> jetzt musst Du nur noch den alten Array wegwerfen unset($ergebnisse) und Deine Ausgaben daraus bauen.
>
> Wie wäre es mit:
> ~~~php
> $ausgabe="<table><tbody>";
> $arSpieler=array_keys($arErgebnisse);
>
> $sumPunkteSelbst=0;
> $sumPunkteGegner=0;
>
> foreach($arSpieler) as $strSpieler) {
> $ausgabe.="<tr><th colspan=\"4\">strSpieler</th></tr>";
> $ausgabe.="<tr><th>Gegner</th><th>Datum Uhrzeit</th><th>Ergebnis</th><th>Kommentar</th></tr>";
> foreach ($arErgebnisse[$arSpieler] as $arSpiel) {
> $ausgabe.='<tr><td>'.$arSpiel['Gegner'].'</td><td>'.$arSpiel['DatTimeGer'].'</td><td>'.$arSpiel['PunkteSelbst'].':'.$arSpiel['PunkteGegner'].'</td><td>'.$arSpiel['Kommentar'].'</td></tr>';
>
> $sumPunkteSelbst=$sumPunkteSelbst+$arSpiel['PunkteSelbst'];
> $sumPunkteGegner=$sumPunkteGegner+$arSpiel['PunkteGegner'];
> $ausgabe.='<tr><td> </td><td>Gesamt:</td><td>'.$sumPunkteSelbst.':'.$sumPunkteGegner.'</td><td> </td></tr>';
> }
> }
> $ausgabe.='</tbody></table>';
>
> print $ausgabe;
>
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Mein Gott seid ihr alle Gut :-)
Wenn ich das noch verstehen würde, dann wäre ich genauso gut.
Ich gugge mal wie ich das hinbekomme. Aber eure Antworten werfen bei mir noch mehr Fragen auf.
Dennoch, lieben Danke für eure Bemühungen
Hallo,
Mein Gott seid ihr alle Gut :-)
Wenn ich das noch verstehen würde, dann wäre ich genauso gut.
für den Anfang wäre es ja schonmal ein Fortschritt, wenn du nicht andauernd das ganze Vorposting zitieren würdest. TOFU ist doch etwas eher Esoterisches und nicht allgemein beliebt.
Ciao,
Martin
Moin!
Wohin soll das führen?
Dazu, die Daten in einer einer für die Aufgabe sinnvollen Weise einzulesen - statt sich auf die Vorarbeit eines Programmierers zu stützen, der wahrscheinlich eine ganz andere Aufgabe zu lösen hatte.
Es ist oft besser vieles wegzuwerfen um es richtig zu machen.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Moin!
Danke für deine Antwort. Leider hab ich diese Datei/Array leider nur in dieser Form vorliegen, da diese aus einer Anderen Anwendung kommt .)
Und wo hat die andere Anwendung die Daten her?
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Die Daten kommen aus einer Billard-Tabelle und werden nach eingabe der Ergebnisse so in die ergbnisse.php geschrieben. Da alles aufeinander aufbaut (was sehr kompliziert ist) versuche ich nun aus der ergebnisse.php die Daten sortiert nach Datum (und nur die Gewinnsätze) übersichtlich darzustellen
Moin!
Die Daten kommen aus einer Billard-Tabelle und werden nach eingabe der Ergebnisse so in die ergbnisse.php geschrieben.
Wenn es so ist, dann hat jemand die Grundregel der Trennung von Daten und Programm verletzt. Die letzte, mir bekannte Programmiersprache bei der dies unumgänglich war, war BASIC für den KC85.
* wegschmeißen *
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Ich habe folgende Datei und möchte aus dieser die Ergenisse nach Datum sortiert anzeigen lassen:
...
Leider klappt das so nicht:
Ich würde es mal mit sortieren versuchen. Oder was klappt nicht? Wie äußert sich das?
Ich habe folgende Datei und möchte aus dieser die Ergenisse nach Datum sortiert anzeigen lassen:
...
Leider klappt das so nicht:Ich würde es mal mit sortieren versuchen. Oder was klappt nicht? Wie äußert sich das?
Ich habs mit sortieren versucht, bekomme aber leider keine braubaren Ergebnisse.
Ich würde es mal mit sortieren versuchen. Oder was klappt nicht? Wie äußert sich das?
Ich habs mit sortieren versucht, ...
Davon ist in deinem Code aber nichts zu sehen.
... bekomme aber leider keine braubaren Ergebnisse.
Wenn Du keine Hilfe willst OK, wenn doch, dann fange an brauchbare Informationen zu liefern und Fragen zu beantworten. Du hast doch bestätigt die Charta des SELFHTML-Forums gelesen zu haben, dort findest Du Tipps für Fragende.
Hello,
Ich habe folgende Datei und möchte aus dieser die Ergenisse nach Datum sortiert anzeigen lassen:
$ergebnisse = array(
'öm' => array('öm#playvboy51=0:0|02.05.2010, 11:54:08 <sup></sup>','öm#bernd67=3:1|02.05.2010, 13:55:36','öm#carpi 86=1:3|02.05.2010, 14:18:21','öm#PekingPeter=0:3|02.05.2010, 14:56:48','öm#Reimarus=2:3|02.05.2010, 20:52:14','öm#Aas53=3:2|06.05.2010, 21:53:15','öm#Elwis70=2:3|06.05.2010, 22:15:25','öm#x Knuddels All Star x <3=0:0|11.05.2010, 14:02:44 <sup></sup>','öm#ConnorMcleod=3:2|11.05.2010, 19:55:07','öm#xylem=0:3|11.05.2010, 20:07:55','öm#Lehmann@Jens=2:3|11.05.2010, 21:10:07','öm#TheKingOfCool=1:3|11.05.2010, 21:21:20','öm#frischer wind2005=1:3|13.05.2010, 12:36:31','öm#billardfloh=3:1|13.05.2010, 21:28:24'),
'PekingPeter' => array('PekingPeter#playvboy51=0:0|02.05.2010, 11:54:38 <sup></sup>','PekingPeter#bernd67=1:3|02.05.2010,13:18:50','PekingPeter#öm=3:0|02.05.2010, 14:56:48','PekingPeter#carpi 86=3:2|02.05.2010, 14:57:15','PekingPeter#Reimarus=3:2|02.05.2010, 19:54:29','PekingPeter#Elwis70=3:2|02.05.2010, 20:24:25','PekingPeter#ConnorMcleod=3:1|03.05.2010, 11:16:16','PekingPeter#TheKingOfCool=2:3|04.05.2010, 17:01:13','PekingPeter#billardfloh=3:0|04.05.2010, 20:57:36','PekingPeter#Aas53=3:1|06.05.2010, 21:26:03','PekingPeter#xylem=3:2|10.05.2010, 15:17:32','PekingPeter#x Knuddels All Star x <3=0:0|11.05.2010, 14:02:59 <sup></sup>','PekingPeter#Lehmann@Jens=0:3|11.05.2010, 20:47:32'),
'xX StyLer PrinZ DeluxXe Xx' => array('xX StyLer PrinZ DeluxXe Xx#Reimarus=1:3|01.05.2010, 22:06:39','xX StyLer PrinZ DeluxXe Xx#playvboy51=0:0|02.05.2010, 11:54:54 <sup></sup>','xX StyLer PrinZ DeluxXe Xx#Aas53=1:3|09.05.2010, 10:35:28','xX StyLer PrinZ DeluxXe Xx#billardfloh=0:3|09.05.2010, 10:41:02','xX StyLer PrinZ DeluxXe Xx#ConnorMcleod=3:2|09.05.2010, 10:55:51','xX StyLer PrinZ DeluxXe Xx#bernd67=3:2|09.05.2010, 11:09:24','xX StyLer PrinZ DeluxXe Xx#x Knuddels All Star x <3=0:0|11.05.2010, 14:03:12 <sup></sup>','xX StyLer PrinZ DeluxXe Xx#Elwis70=3:0|11.05.2010, 17:55:30','xX StyLer PrinZ DeluxXe Xx#frischer wind2005=3:2|14.05.2010, 18:52:42'))
Dann solltest Du erst einmal mitteilen, welches die zu sortiernden Einheiten sind und nach welchem Datum dann sortiert werden soll.
Wenn das feststeht, kann man gemeinsam versuchen, das Datenformat (den Satzaufbau) umzuformen, sodass er nach den gewünschten Kriterien sortierfähig wird.
Welches sind also die schlussendlich zu sortierenden Datengruppen/Datensätze? Muss die Gruppierung, die ich aus deinem Muster herauslese, vorhanden bleiben, oder soll sie zugunnsten der gewünschten Sortierung aufgelöst werden?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
Hello,
Dann solltest Du erst einmal mitteilen, welches die zu sortiernden Einheiten sind und nach welchem Datum dann sortiert werden soll.
Wenn das feststeht, kann man gemeinsam versuchen, das Datenformat (den Satzaufbau) umzuformen, sodass er nach den gewünschten Kriterien sortierfähig wird.
Welches sind also die schlussendlich zu sortierenden Datengruppen/Datensätze? Muss die Gruppierung, die ich aus deinem Muster herauslese, vorhanden bleiben, oder soll sie zugunnsten der gewünschten Sortierung aufgelöst werden?
» Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Upps. Habe deinen Beitrag überlesen. Sorry.
Dir Gruppierung soll nach Datum sein. Also erst Datum und darin sollen alle gespielten Gewinnsätze stehen.
Immo ist bei mir die Sortierung: Datum/Spielername. Dann kommt Datum/nächster Spielername
Hello,
Dir Gruppierung soll nach Datum sein. Also erst Datum und darin sollen alle gespielten Gewinnsätze stehen.
$ergebnisse = array(
'öm' => array(
'öm#playvboy51=0:0|02.05.2010, 11:54:08 <sup>*</sup>',
'öm#bernd67=3:1|02.05.2010, 13:55:36',
'öm#carpi 86=1:3|02.05.2010, 14:18:21',
'öm#PekingPeter=0:3|02.05.2010, 14:56:48',
'öm#Reimarus=2:3|02.05.2010, 20:52:14',
'öm#Aas53=3:2|06.05.2010, 21:53:15',
'öm#Elwis70=2:3|06.05.2010, 22:15:25',
'öm#x Knuddels All Star x <3=0:0|11.05.2010, 14:02:44 <sup>*</sup>',
'öm#ConnorMcleod=3:2|11.05.2010, 19:55:07',
'öm#xylem=0:3|11.05.2010, 20:07:55',
'öm#Lehmann@Jens=2:3|11.05.2010, 21:10:07',
'öm#TheKingOfCool=1:3|11.05.2010, 21:21:20',
'öm#frischer wind2005=1:3|13.05.2010, 12:36:31',
'öm#billardfloh=3:1|13.05.2010, 21:28:24'
),
'PekingPeter' => array(
'PekingPeter#playvboy51=0:0|02.05.2010, 11:54:38 <sup>*</sup>',
'PekingPeter#bernd67=1:3|02.05.2010,13:18:50',
'PekingPeter#öm=3:0|02.05.2010, 14:56:48',
'PekingPeter#carpi 86=3:2|02.05.2010, 14:57:15',
'PekingPeter#Reimarus=3:2|02.05.2010, 19:54:29',
'PekingPeter#Elwis70=3:2|02.05.2010, 20:24:25',
'PekingPeter#ConnorMcleod=3:1|03.05.2010, 11:16:16',
'PekingPeter#TheKingOfCool=2:3|04.05.2010, 17:01:13',
'PekingPeter#billardfloh=3:0|04.05.2010, 20:57:36',
'PekingPeter#Aas53=3:1|06.05.2010, 21:26:03',
'PekingPeter#xylem=3:2|10.05.2010, 15:17:32',
'PekingPeter#x Knuddels All Star x <3=0:0|11.05.2010, 14:02:59 <sup>*</sup>',
'PekingPeter#Lehmann@Jens=0:3|11.05.2010, 20:47:32'
),
'xX StyLer PrinZ DeluxXe Xx' => array(
'xX StyLer PrinZ DeluxXe Xx#Reimarus=1:3|01.05.2010, 22:06:39',
'xX StyLer PrinZ DeluxXe Xx#playvboy51=0:0|02.05.2010, 11:54:54 <sup>*</sup>',
'xX StyLer PrinZ DeluxXe Xx#Aas53=1:3|09.05.2010, 10:35:28',
'xX StyLer PrinZ DeluxXe Xx#billardfloh=0:3|09.05.2010, 10:41:02',
'xX StyLer PrinZ DeluxXe Xx#ConnorMcleod=3:2|09.05.2010, 10:55:51',
'xX StyLer PrinZ DeluxXe Xx#bernd67=3:2|09.05.2010, 11:09:24',
'xX StyLer PrinZ DeluxXe Xx#x Knuddels All Star x <3=0:0|11.05.2010, 14:03:12 <sup>*</sup>',
'xX StyLer PrinZ DeluxXe Xx#Elwis70=3:0|11.05.2010, 17:55:30',
'xX StyLer PrinZ DeluxXe Xx#frischer wind2005=3:2|14.05.2010, 18:52:42'
)
)
Detailsatz, der zerlegt werden muss:
'öm#playvboy51=0:0|02.05.2010, 11:54:08 <sup>*</sup>',
ergibt ein Satzformat:
Name Wert Trennzeichen
----------------------------------------
spieler öm '#'
gegner playvboy51 '='
ergebnis 0:0 '|'
datum 02.05.2010 ', '
zeit 11:54:08 ' '
bemerkung <sup>*</sup>
Der Satz kann dann in ein verarbeitbares Arrayformat eingefügt werden.
$ergebnis['spieler'] [1] = 'öm';
$ergebnis['gegner'] [1] = 'playvboy51';
$ergebnis['ergebnis'] [1] = '0:0';
$ergebnis['datum'] [1] = '02.05.2010';
$ergebnis['zeit'] [1] = '11:54:08';
$ergebnis['bemerkung'][1] = '<sup>*</sup>';
$ergebnis['spieler'] [2] = 'öm';
$ergebnis['gegner'] [2] = 'bernd67';
$ergebnis['ergebnis'] [2] = '3:1';
$ergebnis['datum'] [2] = '02.05.2010';
$ergebnis['zeit'] [2] = '13:55:36';
$ergebnis['bemerkung'][2] = '';
usw.
Danach kann die entsprechende "Spalte" sortiert werden, sofern sie sortierfähig notiert ist.
Beim Datum muss da ggf. noch nachgebessert werden. Oder versuch es mal mit natsort()
asort($ergebnis['datum']);
Die Erledigung der Einzelschritte kann man am besten durch eigene Funktionen oder Methoden erledigen lassen. Dann bleibt das Ganze auch wartbar.
Es geht auch anders, aber das wird unübersichtlich.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
[...]
Danach kann die entsprechende "Spalte" sortiert werden, sofern sie sortierfähig notiert ist.
Beim Datum muss da ggf. noch nachgebessert werden. Oder versuch es mal mit natsort()
Diese kleine Funktion kann Dir dabei helfen...
#-----------------------------------------------------------------------------------
function ger2ansi($date)
{
if (substr_count($date, '.') != 2) return '0000.00.00';
$_sdate = explode ('.',$date);
if ((strlen($_sdate[2]) > 4) or
(strlen($_sdate[1]) > 2) or
(strlen($_sdate[0]) > 2)
) return '0000.00.00';
return substr('0000'.$_sdate[2],-4).'.'.
substr('00'.$_sdate[1],-2).'.'.
substr('00'.$_sdate[0],-2);
}
#-----------------------------------------------------------------------------------
$ergebnis['spieler'] [2] = 'öm';
$ergebnis['gegner'] [2] = 'bernd67';
$ergebnis['ergebnis'] [2] = '3:1';
$ergebnis['datum'] [2] = ger2ansi('02.05.2010');
$ergebnis['zeit'] [2] = '13:55:36';
$ergebnis['bemerkung'][2] = '';
Damit wäre die Datumsspalte dann sinnvoll sortierbar.
asort($ergebnis['datum']);
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg