MySQL Datenbankentwurf

mr-otin

Mitglied
Halo Community,

ich habe eine Frage im Bezug auf einen Datenbankentwurf. Und zwar möchte ich mir ein kleines Aufgaben-Managementsystem schreiben auf Basis PHP und MySql. DB ist schon entworfen und angelegt. Jedoch bemerke ich jetzt erst mein Problem beim auslesen der Daten.

hier meine 5 Tables:

todo.PNG

Möchte ich nun meine Aufgaben aus der Table "Aufgaben" auslesen pasiert nun folgendes: Es werden aus den Feldern Ersteller, Prio, Status und Zugeteilt jeweils nur die ID's angezeigt aber nicht der Text. Wie muss ich nun vorgehen? Muss ich eine weitere Tabelle anlegen mit erweiterten Primarykey um den Datensatz eindeutig zu bestimmen? Ich glaube ich denke zu weit um die Ecke :(!

Ich wäre dankbar für Lösungsvorschläge.

MfG
Dave
 
Der Aufbau sieht schon gut aus. Du musst aber mittels JOIN die weiteren Tabellen anhängen und den Text von dort nehmen

zB. die Prio

SQL:
SELECT
    a.*,
    p.prio
FROM
    todo_aufgaben AS a
    LEFT JOIN todo_prio AS p ON a.todo_prio_prioid = p.prioid
 
Zuletzt bearbeitet von einem Moderator:
Hallo Yaslaw,

danke für die schnelle Antwort, aber nicht das wir uns Falsch verstehen! Erstmal abfrage der Tabelle:

SQL:
SELECT *
FROM `todo_aufgaben`

Nun Soll mir aber bei der Prio in 'todo_Afgaben', anstatt der Prioid '2', "Normal" angezeigt werden.

todo_prio
Prioid 1 = Hoch
Prioid 2 = Normal
Prioid 3 = Niedrig

oder bei dem Ersteller soll nicht die erstellerid '1' sondern Dave stehen.

Danke
MfG
Dave
 
Zuletzt bearbeitet von einem Moderator:
Genau so habe ich das verstanden. Mein Beispiel gibt dir als SPalte prio dann das 'Hoch' aus.
 
Guten Morgen,

Yaslaw besteht die möglichkeit das du mir kurz erklärst was diese Anweisung genau macht? Ich sehe halt nur das ein Feld (Column) hinzu kommt. Was macht die Anweisun a.*? Fügt diese eine neue Column ein? Versuche ich es Selber, um mir einen Namen anzeigen zu lassen bringt er mir die Meldung: #1051 - Unknown table 'a'

SQL:
SELECT
     a.*, b.ersteller
FROM 
     todo_aufgaben
LEFT JOIN 
     todo_Ersteller AS b ON a.todo_Ersteller_erstellerid = b.ersteller

Mit besten grüßen
Dave
 
Zuletzt bearbeitet von einem Moderator:
In meinem Beispiel habe ich der Tabelle todo_aufgaben den Alias a gegeben (Befehl: AS)
SQL:
FROM
    todo_aufgaben AS a
Somit ist a die Tabelle todo_aufgaben und a.* bedeutet alle Felder der Tabelle a.

SQL:
SELECT	todo_aufgaben.*
FROM 	todo_aufgaben
-- ist analog zu
SELECT	a.*
FROM 	todo_aufgaben AS a
 
Zuletzt bearbeitet von einem Moderator:
Zurück