[MYSQL] Tabellenfelder ordnen

deden

Cadet 4th Year
Registriert
Aug. 2003
Beiträge
67
hi leute,

so, das wird jetzt ein wenig kompliziert, aber wenn ich mich zu unklar ausdrücke einfach nachfragen.

ich habe 2 mysql-tabellen

in tabelle 1 stehen fragen
in tabelle 2 stehen antworten

tabelle 1 sieht so aus:

Code:
+----+----------------+
| ID | FRAGE          |
|----+----------------+
|  1 | frage nummer 1 |
|  2 | frage nummer 2 |
|  3 | Frage nummer 3 |
| .. | ...            |
+----+----------------+

soweit klar!
nun tabelle 2 mit den antworten
Code:
+-------+---------------------+---------------------+----------+--------+------+
| USER  | 1                   | 2                   | 3        | 4      |...   |
+-------+---------------------+---------------------+----------+--------+------+
| peter | antwort auf frage 1 | antwort auf frage 2 | ...auf 3 |...     |      |
| franz | antwort auf frage 1 | antwort auf frage 2 | ...auf 3 |...     |      |
+-------+---------------------+---------------------+----------+--------+------+

nun und jetzt möchte ich die fragen mit den dazugehörigen antworten auslesen.
das habe ich in einer schleife gemacht in der die fragen ausgelesen werden und nach id geordnet werden sollen. die antworten von einem user werden ebenfalls ausgelesen und ausgegeben. bei den antworten habe ich leider nur das problem, dass das ganze nicht geordnet ist. so erscheinen die antworten bei den falschen fragen. bei aktualisieren der seite ändert sich immerwieder mal die reihenfolge der antworten. nun möchte ich gerne wissen wie ich die spalten bzw die antworten von der tabelle antworten ordnen kann.

vielen dank im voraus ;)
 
Zuletzt bearbeitet:
PFUIII!!!!
Informier dich mal bei Google über den Begriff "Normalformen"...

Und dann strukturier dene Tabelle um:

Code:
+--------------+
|    Fragen    |
| ID | FRAGE   |
|----+---------+
|  1 | Stadt?  |
|  2 | Land?   |
|  3 | Fluss?  |
+--------------+

+------------------------+
|       Antworten        |
| USER | FRAGE | ANTWORT |
+------+-------+---------+
| Paul |     1 | Paris   |
| Paul |     2 | Irland  |
| Paul |     3 | Elbe    |
| Uwe  |     1 | London  |
| Uwe  |     2 | Germany |
| Uwe  |     3 | Donau   |
+------+-------+---------+
 
Die User und Städte, Länder und Flüsse kann auch nochmal in eigene Tabellen schreiben. Dann könnte man sogar die Punktestände mit sichern ;)
Und Normalformen sind echt ne feine Sache. Du brauchst normalerweise aber echt nur die ersten 3, wenn ich mich recht entsinne.
 
ich will aber nicht irgendwelche statistiken erstellen, sondern das ist ein ganz normaler fragebogen mit persönlichen fragen. wie bei einem steckbrief! warum kann ich es nicht mit meiner tabelle machen? gibt es nicht einen befehl womit ich die reihenfolge angeben kann?
 
du sollst ja auch keine statistiken machen sondern deine tabellen in die normalform bringen... btw: was ich vergessen hab: du musst in dem beispiel da oben noch eine tabelle "user" anlegen, wo jeder user eine id zugeordnet bekommt... und dann benutzt du in der antworten-tabelle die ID anstatt des namens
 
Die Ausgabe deiner MySQL-Abfrage kannst du sortieren mit ORDER BY Datenfeld.
Soll es absteigend sortiert werden, fügst du noch DESC an.

zB SELECT `frage` FROM `fragen` ORDER BY `id`
 
Zurück
Oben