[Programming] iBreakstone fragt!

  • Hier im Thread stelle ich meine Fragen.


    Frage zu MySQL/PHP:
    Ich möchte eine Freundesliste einbauen, in der man eine Nachricht schreibt
    (wird in der DB gespeichert), welche nur die Freunde sehen sollen.
    Wie mache ich das nun von MySQL her?
    Also wie sollte ich Tabellen und Datenbanken speichern?
    Angenommen Karl schreibt eine Nachricht und Tom und Hans sollen sie lesen.
    Karl schickt Tom und Hans eine Freundesanfrage, welche sie auch annehmen.
    In der DB user sollen nun die beiden als Freunde von Karl markiert werden.
    Wie löse ich das Problem?
    Ich möchte nicht für jeden User einzeln eine Tabelle anlegen, sondern eine Tabelle für alle.
    Wenns geht, so, dass von einem User alles in eine Zeile (Freunde, Einstellungen, ...) passt.


    Einmal editiert, zuletzt von iBreakstone (20. November 2013 um 13:50)

  • Wenn du das so willst, würde ich eine einzelne User Datenbank anlegen, Beispiels Weise:
    username - email - rank - banned - gender...etc.
    Dann legst du eine Tabelle für Freundschaftsanfragen an, die sollte ca so aussehen:
    sender - empfänger - angenommen
    Bei sender und empfänger lässt du dann jeweils die Namen eintragen, bei angenommen machst du es mit 1 oder 0, ist die Anfrage angenommen, wird es zu eins und der sender wird in die Freunde Tabelle eingetragen, die folgender Maßen aussehn kann:
    user - freundesname - freundesgruppe

    Wenn du dann eine Liste machst, lässt du einfach die Freunde des eingeloggten user's auslesen.

  • Verstehe nicht ganz. Jede Beziehung (Freundschaft) soll einzeln gespeichert werden?
    Tom, Hans und Peter sind miteinander befreundet.
    Also sieht die Tabelle "freunde" so aus?:
    Name | befreundet_mit
    Tom | Hans
    Hans | Tom
    Tom | Peter
    Peter | Hans
    Peter | Tom
    Hans | Peter ?

    Ich würd das gern in eine "Zeile" packen, also einfach nur freunde von Tom beispielsweise,
    statt dass da 800 Einträge stehen, weil er 800 Freunde hat. Ist dies auch möglich?



  • Datenbanken sind als Tabelle sehr sinnvoll warum willst du nun die Spalten einer Zeile erweiter oder wie? Ansonsten musst Du mit Filtern arbeiten bsp. wir haben eine Tabelle mit
    id : user_id : friend_id : request_form; bei Request form kannst Du 3 arten anbieten "on", "off" , "deleted" bei ON sind sie Freunde da die Anfrage aktzeptiert wurde bei deleted wurde diese abgelehnt
    Nächster Schritt du sorgst dafür das keine doppel einträge drin sind und lediglich der Request form geändert wird falls es existiert
    Nächster Schritt eine neue Tabelle dort tust Du nun 4 Spalten anlegen
    id : username : friends
    Deine ein Zeilen Geschichte kann so dann realisiert werden in friends wird sozusagen als eine Art array alle Freunde gespeichert in PHP musst du das dann etwas Filtern und tada es klappt
    Info: Du kannst die Spalte friends auch in der Usertabelle speichern

    Grüße,

    Wenn die Menschen nur dann redeten, wenn Sie was zu sagen haben, würde die Menschheit den Gebrauch der Sprache verlieren. ~ Hamlet

    Wenn die Menschen nur über das sprechen was sie begreifen, dann würde es sehr still auf der Welt sein. ~ Albert Einstein

    Wenn die Menschen immer nur die Wahrheit sagen würden, wäre das nur ein Traum von einem anderen Menschen der sich selbst belügt. ~ FireBomb

    Na hast Du auch ein Zitat?
    Nein oh schade ;)

    Peace. FireBomb

  • An meinem ekelhaften schandcode ist nichts falsch, ich nenne nur Möglichkeiten

    Weißte, man kann auch ne ekelhafte fette in nem Club mit nach Hause nehmen. Man kann aber auch eine der geilen Ischen abschleppen ;)

    Nimm du mal deine Bratzen mit, während Leute mit Anstand sich an die richtigen "Frauen" / "Methoden" ranmachen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!