3 in 1 - Geordnet

maxikey

Erfahrenes Mitglied
Houdey PHP-Anhänger,

Ich habe eine Mysql Tabelle, die 2 Spalten hat: Eine mit dem Namen des Users, eine mit der Nachricht des Users. Wenn ein Benutzer nun alle Nachrichten eines Anderen sehen möchte wird er sein Freund. Wenn er nun seine eigene Startseite besucht, sollen alle Nachrichten derer selectet werden, denen er folgt. Wie soll ich das machen?

Aus einer Datenbank kann ich auswählen, wem er folgt. Aber wie kann ich diese User dann nutzen, um die Nachrichten der Freunde auszuwählen, ohne die zeitlich korrekte Reihenfolge der Beiträge zu verlieren?


BSP.:
HTML:
TABELLE "NACHRICHTEN"

|---USER-----|-----Nachricht--|
|-BLADI-------|--Hallo----------|
|-DUM---------|--Hi, du---------|

HTML:
TABELLE "FREUNDE"

|--USER----|----FREUND---|
|--MAIN-----|----BLADI------|
|--MAIN-----|----DUM--------|

Wenn MAIN also Freund ist von DUM und BLADI und seine Nachrichten empfangen soll, dann müsste der Code wie aussehen?

PHP:
SELECT * FROM NACHRICHTEN WHERE WAS

Würde mich über schnelle Hilfe wirklich freuen.

DANKE!
 
Da ich keine Ahnung habe, wie die Spalten in den Tabellen lauten, einfach mal ins Blaue:
SQL:
SELECT n.* FROM NACHRICHTEN n
INNER JOIN FREUNDE f
WHERE f.ICH = 'mein_user_name'
AND n.USERNAME = f.FREUND;
 
Zuletzt bearbeitet:
Und zumunterscheiden falls ein Query zweimal auf dieselbe Query zugreifft. Es gibt also Fälle wo man nicht drumrum kommt:
SQL:
SELECT
    prod.*, 
    pers1.NAME AS VERANTWORTLICHER, 
    pers2.NAME AS STELLVERTRETTER
FROM 
    PRODUKT prod, 
    PERSON pers1, 
    PERSON pers2
WHERE
    prod.VERANTWORTLICHER_ID = pers1.ID
    AND prod.STELLVERTRETTER_ID = pers2.ID
 
Zuletzt bearbeitet von einem Moderator:
Zurück