Wie am besten ein Mailsystem Programmieren?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
allgemeine tabelle
anregung
anweisung
betreff
bewahren
design
effektivste methode
entscheiden
erstellen
falle
hintergrundwissen
liegen
message
packen
programmieren
scheiden
spalte
spalten
tabelle
zeile
-
Hallo, Lima-User!
Ich möchte gerne ein Mailsystem schreiben. Mir fallen dabei jetzt nur 3 Möglichkeiten ein:
1. In ein Tabelle 'mails' ewig viele Spalten machen, die alle immer abwechselnd 'titel1' 'message1' 'titel2' 'message2' usw. Es währe aber sehr umständlich, diese Tabelle anzulegen.
2. Für jeden User eine Mail-Tabelle machen, mit den 3 Spalten 'id' 'titel' 'message'. Das würde aber ser viele Tabellen erstellen, und man müste um die Übersicht zu bewahren alles in eine extra-DB packen.
3. Eine allgemeine Tabelle 'mails' machen, mit den Spalten 'id' 'user_id' 'titel' 'message', und diese dann mit den Usern verknüpfen.
Gibt es vielleicht noch andere Möglichkeiten, die besser zu handhaben währen? Und wenn nciht, welches sollte ich programmieren? Mir ist es sehr wichtig, das selbst zu schreiben, da ich (wie mein Nick-Name schon sagt) alles auf meiner Seite selbst proggen will. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich würde so ohne Hintergrundwissen, was du mit deinem Mailsystem machen willst Variante 3 wählen.
Aber je nachdem was du damit machen willst würde ich das entscheiden.
Alternativ kannst du auch in der User-Tabelle eine Spalte mit der E-Mail machen und den Betreff dann über PHP variieren lassen. -
Variante 3. Definitiv.
Das ist einfach die effektivste Methode. Da du ja mit der WHERE-Anweisung wunderbar ausschließen kannst, ist es auch egal, dass die ganze eMails in einer Tabelle liegen.
Nahezu jede heute gebräuchliche Forensoftware arbeitet so. Hier bei lima-city liegen z.B. auch alle Beiträge aus allen Threads in einer Tabelle. Andere effiziente Möglichkeiten gibt es einfach gar nicht ;)
gruß
ferdinand24 -
Lool also Variante 1 und 2 scheiden schonmal aus... weil ich DBs eigentlich dafür ausgelegt sind beliebig viele Zeilen in der Tabelle zu haben und nicht beliebig viele Spalten mit 1 Zeile in der Tabelle.
Variante3:
Beispiel-Tabellen:
Users (u_id, u_firstname, u_lastname, u_email, u_password)
Mails (m_id, u_id, m_recipient, m_titel, m_body, ag_group)
Attachmentgroups (ag_id, ag_group, a_id)
Attachments (a_id, a_filename, a_filetype, a_filedata)
...so als Anregung.
Grüßle -
OK, das mit Users und Mails hab ich schon. Was ich jetzt noch machen muss ist:
- Verlinkung
- Design
- Mehr Funltionen
- Bessere allgemeine Anpassung für den User
dann sollte das ok sein, und betriebsbereit. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage