Datensatz in Spalten ausgeben
mysqlLeaner
- perl
hi
ich hab n problem uns weiss net weiter;
ich hab ne tabelle in der stehen zeilenweise daten also einzelne datensaetze;
diese sollen jetzte aber spaltenweise auf eine html seite; wie koennte ich des machen,
bsp:
daten1 a b c d e
daten2 1 2 3 4 5
soll dann so aussehen:
daten1 daten2
a 1
b 2
c 3 usw
gruss
oops des thema sollte natuerlich unter PHP laufen !!
sorry
Hi auch,
ich hab ne tabelle in der stehen zeilenweise daten
also einzelne datensaetze;
diese sollen jetzte aber spaltenweise auf eine html
seite; wie koennte ich des machen,
trenne Dein Problem in zwei Teilprobleme:
a) Einlesen der Daten aus der Datenbank in lokale
Variablen
b) Erzeugen von HTML-Code.
Beide sind praktisch unabhängig voneinander lösbar.
Ich fürchte, die typische "integrative" Arbeitsweise
von PHP verstellt Dir hier den Blick dafür, was Du
zu tun hast.
Wahrscheinlich gibt es eine kürzere Lösung als die
von mir skizzierte - aber die ist dann ggf. nicht so
naheliegend.
Viele Grüße
Michael
daten1 a b c d e
daten2 1 2 3 4 5
soll dann so aussehen:
daten1 daten2
a 1
b 2
c 3 usw
Das einzige Problem steckt in der Menge der Daten.
Genauso, wie eine Datei in vertikaler Richtung wächst, ist auch eine HTML-Seite organisiert. In der Länge, also vertikal sind beide theoretisch unendlich.
Die Breite des Datensatzes muss genauso wie die Breite der HTML-Seite VOR der Benutzung/Anzeige festliegen. Das heißt, da hier die Länge (Zeilen-Nr) zur Breite (Spalten-Nr) wird, mußt Du dich auf eine Anzahl Sätze pro Seite festlegen.
Nun zur Lösung mit PHP und MySQL
Lege in einer Variablen fest, wieviel Sätze immer verarbeitet werden sollen. Lies die Sätze mit
SELECT [FELDLISTE] from <Tabelle> LIMIT [Offset],Anzahl
in dein Resultset ein. Offset fängt bei 0 an für den ersten Satz.
Eine saubere Lösung wäre es jetzt, sich ein lokales zweidimensionales Arry zu definieren und es mit mysql_fetch_arry Zeilenweise zu füllen. Anschließend kannst Du es Spaltenweise verarbeiten.
$satzNr=0;
while ($satz = mysql_fetch_array($rs))
{
$rsArray=array(satzNr => $satz);
satzNr++;
}
In rsArray steht nachher das gesamte Resultset als assoziatives Array drin und kann verarbeitet werden.
Gruß
Tom