Hat zufällig jemand einen Algorithmus für das Sortieren einer Kreuztabelle? Die Ursprungstabelle liegt in einer Datei vor und sieht wie folgt aus:
Code:
Nr.;Spieler;DWZ ;Klub;Pkt.;SoBe ;1;2;3;4;5;6;7;8;9;10
1.;Name 01;1981;BeMi;5,5 ; ;x;1;0;0;½;1;1;0;1;1
2.;Name 02;2099;BeMi;5,0 ; ;0;x;0;½;1;0;1;½;1;1
3.;Name 03;2006;Kreu;7,0 ;28,50;1;1;x;½;½;½;½;1;1;1
4.;Name 04;2076;Pank;7,0 ;27,50;1;½;½;x;0;1;1;1;1;1
5.;Name 05;1890;BeMi;4,5 ; ;½;0;½;1;x;½;0;1;0;1
6.;Name 06;1880;QuSp;4,0 ; ;0;1;½;0;½;x;½;½;1;0
7.;Name 07;1875;Empo;3,5 ;13,25;0;0;½;0;1;½;x;½;0;1
8.;Name 08;1792;BeMi;3,5 ;13,25;1;½;0;0;0;½;½;x;0;1
9.;Name 09;1872;Zita;3,5 ;12,25;0;0;0;0;1;0;1;1;x;½
10.;Name 10;1847;Lask;1,5 ; ;0;0;0;0;0;1;0;0;½;x
Das Einlesen in ein zweidimensionales Array und das Sortieren nach der Spalte Pkt. und SoBe dürfte ja noch einfach sein. Nach dieser Sortierung sieht die Tabelle wie folgt aus:
Code:
Nr.;Spieler;DWZ ;Klub;Pkt.;SoBe ;1;2;3;4;5;6;7;8;9;10
3.;Name 03;2006;Kreu;7,0 ;28,50;1;1;x;½;½;½;½;1;1;1
4.;Name 04;2076;Pank;7,0 ;27,50;1;½;½;x;0;1;1;1;1;1
1.;Name 01;1981;BeMi;5,5 ; ;x;1;0;0;½;1;1;0;1;1
2.;Name 02;2099;BeMi;5,0 ; ;0;x;0;½;1;0;1;½;1;1
5.;Name 05;1890;BeMi;4,5 ; ;½;0;½;1;x;½;0;1;0;1
6.;Name 06;1880;QuSp;4,0 ; ;0;1;½;0;½;x;½;½;1;0
7.;Name 07;1875;Empo;3,5 ;13,25;0;0;½;0;1;½;x;½;0;1
8.;Name 08;1792;BeMi;3,5 ;13,25;1;½;0;0;0;½;½;x;0;1
9.;Name 09;1872;Zita;3,5 ;12,25;0;0;0;0;1;0;1;1;x;½
10.;Name 10;1847;Lask;1,5 ; ;0;0;0;0;0;1;0;0;½;x
Jetzt sind allerdings die Spalten mit den Ergebnissen durcheinander. Die Spalten 1 bis 10 müssen jetzt analog der Zeilensortierung angeordnet werden. Das ist dann wohl der schwierigere Teil in PHP.
Das Endergebnis muß dann wie folgt aussehen:
Code:
Nr.;Spieler;DWZ ;Klub;Pkt.;SoBe ;3;4;1;2;5;6;7;8;9;10
3.;Name 03;2006;Kreu;7,0 ;28,50;x;½;1;1;½;½;½;1;1;1
4.;Name 04;2076;Pank;7,0 ;27,50;½;x;1;½;0;1;1;1;1;1
1.;Name 01;1981;BeMi;5,5 ; ;0;0;x;1;½;1;1;0;1;1
2.;Name 02;2099;BeMi;5,0 ; ;0;½;0;x;1;0;1;½;1;1
5.;Name 05;1890;BeMi;4,5 ; ;½;1;½;0;x;½;0;1;0;1
6.;Name 06;1880;QuSp;4,0 ; ;½;0;0;1;½;x;½;½;1;0
7.;Name 07;1875;Empo;3,5 ;13,25;½;0;0;0;1;½;x;½;0;1
8.;Name 08;1792;BeMi;3,5 ;13,25;0;0;1;½;0;½;½;x;0;1
9.;Name 09;1872;Zita;3,5 ;12,25;0;0;0;0;1;0;1;1;x;½
10.;Name 10;1847;Lask;1,5 ; ;0;0;0;0;0;1;0;0;½;x
Als kosmetische Arbeiten wären jetzt noch die Nummern in Spalte 1 und die Ergebnisspalten in Zeile 1 anzupassen.
Hat jemand eine Idee wie das in PHP zu realisieren wäre?