PN System erstellen

vom 31.07.2008, 13:57 Uhr

Okay, Klappt alles bestens!

Nun noch eine Frage: Wie erstelle ich mir ein PN system mit einer solchen Datenbank? Welche Zeilen und spalten brauche ich? Wie mache ich das am besten? Wie werden die daten bei jedem versenden abgefragt? Wie muss ich anfangen?

Vielen Dank schonmal!

Benutzeravatar

» extremefall » Beiträge: 324 » Talkpoints: -0,80 » Auszeichnung für 100 Beiträge



Zuerst würde ich mir immer auf ein Papier aufschreiben was du alles benötigst und wie die Datenbank Struktur aussehen sollte. Zuerst brauchst du folgendes:
1 Tabelle mit mindestens 4 Feldern.
Felder: ID , Versender , Empfänger , Inhalt , Datum , Uhrzeit , IP

Hierbei sind die Felder Datum , Uhrzeit und IP Logischerweise Optional. Bei Empfänger und Versender trägst du am besten immer die jeweiligen Userid von den Usern ein die die Private Nachricht oder Versendet oder Empfangen haben. Beim versenden schreibst du jetzt einfach nur die Daten die ich dir oben geschrieben habe in die Datenbank und die hälfte deines PN Systems ist schon geschaft. Als nächstes fragst du noch die jeweiligen Daten aus der Datenbank ab und lässt sie Anzeigen.

Dann hast du schonmal den Grundaufbau geschaft. Der Rest hängt von dir ab. Wenn du möchtest das der Benutzer der die PN versendet keine ID eingeben braucht sondern nur den Benutzernamen, dann gleichst du einfach die Benutzerids mit den Benutzername in deiner Datenbank ab und holst dir die jeweilige Benutzerid zu deinem Benutzer.

Ich hoffe du kannst bereits in PHP mit Datenbanken umgehen ansonsten würde ich dir raten ersteinmal ein Buch über PHP zu kaufen. Wenn du einen Link brauchst kannst du mich gerne per PN anschreiben.

Leon

» Leon122 » Beiträge: 34 » Talkpoints: 12,96 »


Also wenn ich dich richtig verstehe soll das wie folgt aussehen:
Tabelle mit vier Spalten
Erste Spalte: ID (Was muss man dazu machen? Sich einfach eine Nummer aussuchen und die als ID zuteilen?)
Zweite Spalte: Versender
Dritte Spalte: Empfänger
Vierte Spalte: Inhalt

Muss man dann zu den jeweiligen Spalten noch was in die Zeilen eintragen? Wenn ja, was? Wie kann ich es genau machen, damit ich die ID mit dem Benutzernamen abgleiche?

Vielen Dank schonmal für deine Hilfe bis jetzt!

Benutzeravatar

» extremefall » Beiträge: 324 » Talkpoints: -0,80 » Auszeichnung für 100 Beiträge



Noch eine wichtige Frage: Wie groß sollten die einzelnen Bestandteile sein?

Bei ID hab ich 5.
Bei Versender hab ich 10.
Bei Empfänger hab ich 10.
Bei Inhalt weiß ich überhaupt nicht, wie groß dieses Feld sein muss!

Passen die Größen etwa? Welche würdet ihr verwenden? Weiß einer Rat und kann mir helfen?

Vielen Dank schonmal!

MFG
Euer Extremefall

Benutzeravatar

» extremefall » Beiträge: 324 » Talkpoints: -0,80 » Auszeichnung für 100 Beiträge



Ganze einfach. Du hast bestimmt eine Tabelle mit den Benutzern drinne. In SQL würde das so aussehen:

Code: Alles auswählen
SELECT "Name der Spalte" FROM "Name der tabelle" WHERE "Username" = $username

So in etwa sollte dein SQL Code aussehen. Wie groß du die Felder machst sollte eigentlich egal sein. Die Felder mit dem Empfänger und dem Versender genauso wie mit der ID sollten auf jedenfall vom Typ INT sein. Und das Feld Text sollte auch vom Typ Text sein. Wie groß Felder vom Typ Text werden können solltest du im phpMyAdmin sehen können, da kannst du ruhig das maximum nehmen. Bei deinem ersten Feld namens ID stellst du das ganze auf Auto Increment und auf Primary Key und dort wird dann für jede Nachricht eine neue ID eingetragen mit der du die Nachricht dann auch aus der Datenbank abfragen kannst.

Ansonsten hast du alles schon richtig verstanden. Wenn du Probleme mit MySQL oder SQL hast, kannst du auch einfach mal in die MySQL Documentation schauen dort stehen ziemlich viele Infos drinne.

Leon

» Leon122 » Beiträge: 34 » Talkpoints: 12,96 »


Vielen Dank! Du hast mir schonmal sehr viel weitergeholfen! Nur leider kriege ich das erstellen einer Tabelle mit INT nicht wirklich hin! Könntest du, wenn du Zeit hast, die COdes posten, die ich bei MySQL zum erstellen einer Datenbank eingeben muss? Wäre echt nett und schonmal danke dafür!

MFG
Euer Extremefall

Benutzeravatar

» extremefall » Beiträge: 324 » Talkpoints: -0,80 » Auszeichnung für 100 Beiträge


id INT NOT NULL AUTO_INCREMENT

Erstellt dir eine Tabelle mit INT als format die nicht leer sein darf wo sich der Wert automatisch erhöht (das heisst du musst es beim eingeben leer lassen und die ID kommt automatisch)

Mfg sim

» Sim-value » Beiträge: 181 » Talkpoints: 3,50 » Auszeichnung für 100 Beiträge



Okey!

Ich habe jetzt mit folgendem Befehl eine Datenbank erstellt:

Code: Alles auswählen
mysql> create table datenbank (ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Versender INT NOT NULL, Empfaenger INT NOT NULL, Inhalt INT NOT NULL);

Dann erscheint die Nachricht: Query OK, 0 rows affected (0.03 sec) ist das richtig? Oder stimmt da was nicht? Ist meine Code falsch oder korrekt? Um die Datenbank abzurufen, habe ich folgendes in MySQL eingegeben:
Code: Alles auswählen
mysql> select * from datenbank;

Dann erscheint darunter die Nachricht: Empty set (0.00 sec) - Ist das jetzt richtig bis jetzt oder habe ich was falsch gemacht? Müsste jetzt die Tabelle angezeigt werden oder ist es richtig wie bei mir, dass dort nichts angezeigt wird?

Vielen Dank schonmal für die bisher gute Hilfe!

Benutzeravatar

» extremefall » Beiträge: 324 » Talkpoints: -0,80 » Auszeichnung für 100 Beiträge


Ähnliche Themen

Weitere interessante Themen

^