Datenbank auslesen & Vergleichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenbank auslesen & Vergleichen

    Hallo!

    Erst einmal zur Info: Ich bin neu hier, UND ich wünsche euch einen schönen Sonntag.

    Direkt zu meinem Problem:
    Ich habe Zwei Tabellen in einer MySQL Datenbank.
    'relationship' und 'statusfeed'.

    Die relationship Tabelle besteht aus: 'user_one_id', 'user_two_id' und status.
    die statusfeed tabelle besteht aus: 'feed_ID', 'user_ID', 'content' und timestamp.

    Soviel zum Vorwort.

    Ich muss nun mittels der relationship tabelle abfragen ob die user befreundet sind. Ich kann ein Array ausgeben lassen, welches die User IDs der Leute anzeigt, die mit dir befreundet sind.

    Daraus möchte ich dann ableiten, dass die ID des Freundes dann auch die ID in der statusfeed tabelle ist.

    So weit so gut. Problem ist aber, wenn ich das alles auslese, dann wird mit erst die contents von user_id 2 und dann die contents von user_id 3 angezeigt.

    Ich möchte aber, dass die contents durcheinander sind. also nicht, dass erst die erste ID ausgelesen wird und dann die zweite., sondern es nach uhrzeit sortiert ist.

    Ich hoffe ihr könnt mir helfen und ich konnte euch mein Problem erklären.

    MfG

  • #2
    Willkommen im Forum.

    Das klingt vielleicht zu einfach, aber wie wäre es mit ORDER BY timestamp ASC als Zusatz in der Query, mit der du die Daten holst?

    Kommentar


    • #3
      Lese ich ja genau so aus.

      Vermutlich liegt das Problem aber daran, dass ich in der einen Tabelle die Daten der Nutzer auslese und sie mit der Anderen Tabelle abgleichen will.
      Aber die Daten aus Tabelle 1 sind in einem Array gespeichert.

      Wäre dies so ein Thema vonwegen 'MYSQL JOIN'?

      Kommentar


      • #4
        Ja, Joins könnten sicher ein Ansatz sein. Ich glaube, wenn dir jemand detaillierter dabei helfen soll, müsstest du Testdaten posten, mit denen man die Tabellen lokal nachstellen kann (also SQL-Statements mit CREATE und INSERT).

        Kommentar


        • #5
          Wo soll ich da anfangen. Ich probiers.

          Wir gehen davon aus, das wir selber die ID 1 haben.

          Tabelle relationship
          user_one_id(INT) | user_two_id(INT) | status(INT)
          1 | 2 | 1 <- 1 = befreundet
          1 | 3 | 1
          2 | 3 | 3 <- 3 = abgelehnt

          Tabelle statusfeed
          user_ID(INT) | content(LONGTEXT) | timestamp(TIMESTAMP)
          1 | kleinerbeispieltext | 2015-10-25 01:38:08
          2 | kleinerbeispiel | 2015-10-25 01:40:00
          3 | kleinerbeispieltext | 2015-10-25 01:40:08
          2 | kleinerbeispieltext | 2015-10-25 01:41:00

          SO viel zum Aufbau der Tabellen.
          Das problem ist jetzt, wie gesagt mittels PHP erst einmal zu prüfen ob die User befreundet sind. Das wäre möglich mit einer foreach-Schleife, wobei dann aber die ID's als Array ausgegeben werden.

          Sobald wir die ID's der Freunde haben müssen wir nun den statusfeed auslesen. D.h. wir gucken ob die user_ID aus dem statusfeed eine Freunde ID ist. Ist das der Fall, dann soll der content angezeigt werden.

          Natürlich ist es dann von nöten, dass es nach dem timestamp sortiert wird, damit das aktuellste oben steht.

          Ich habe schon Kopfschmerzen, vielleicht habt ihr eine Idee.

          btw: hab zwar hinbekommen mittels "join" dass die Beiträge nach der Uhrzeit sortiert werden und überprüft wird, ob der Beitrag von einem Freund ist, ABER es lieferte nur wenige Ergebnisse (komischerweise 6).
          Aber egal. Mich würden eure Lösungsvorschläge interessieren, also wie ihr da lösen würdet,

          Schonmal vielen Dank!

          Kommentar


          • #6
            Alles klar, hat sich erledigt.

            Kommentar

            Lädt...
            X