Zeilen und Spalten vertauschen (transformieren) mit PHP

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
klaus
Beiträge: 102
Registriert: 09.06.2003 11:32:10

Zeilen und Spalten vertauschen (transformieren) mit PHP

Beitrag von klaus » 30.11.2004 10:32:39

Moin,

ich moechte eine Select-Anfrage von MySQL transformieren,
also die Zeilen als Spalten darstellen.

folgender Code stellt die ursprüngliche Tabelle dar:

Code: Alles auswählen

      echo"<table border=1><tr>";
      $row = mysql_fetch_array($result, MYSQL_ASSOC);

      while($field = key($row)){
        echo '<th>' . ucwords($field) . '</th>';
        next($row);
      }

      echo"</tr><tr><td>";
      echo implode("</td><td>",$row);
      echo "</td></tr>";

      while ($row = mysql_fetch_array($result,MYSQL_ASSOC)){
        echo "<tr><td>";
        echo implode("</td><td>",$row);
        echo "</td></tr>";
      }

      echo "</table>";
Vielen Dank Matthias

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 30.11.2004 21:29:26

HI,

hab das Thema mal von den Web- und Mailserver weggeschoben.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 01.12.2004 17:25:11

Naja, ich weiss nicht, ob es da was fertiges gibt,. aber normalerweise, würd eman einfach über alle Zeilen iterieren, und jeweils die einzelnen Spalten halt zeilenweise in ein neues Array bringen...

Pseudocode:

Code: Alles auswählen

for(z in Zeilen) {
        for(s in Spalten) {
                neu[s][z] = alt[z][s]
        }
}
Warnung: Quadratische Komplexität... Das ganze kann man natürlich auch "on-the-fly" bei der Ausgabe machen, man braucht halt nur einmal das komplette Query Result als Array.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Antworten