Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Abfrage unter Berücksichtigung einer Hilfstabelle

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Abfrage unter Berücksichtigung einer Hilfstabelle

    Hallo liebe Community,

    ich habe ein kleines Problem mit einer Datenbankabfrage. Es handelt sich hier um eine Art Soziales Netzwerk bei dem verschiedene Benutzer Bilder hochladen können etc. Die hochgeladenen Bilder werden alle auf einer Startseite nacheinander angezeigt. Es gibt allerdings auch die möglichkeit, bestimmte Benutzer zu ignorieren, sodass die ignorierten User die Bilder der entsprechenden Person auf der Startseite garnicht erst angezeigt bekommen.

    Also User 1 ignoriert User 2 -> User 2 werden Bilder von User 1 auf der Startseite nicht mehr angezeigt.

    Ich speicher mir die Ignorier-Einträge in einer Hilfstabelle (ignorierListe). Die hochgeladenen Bilder werden in der Tabelle bilder gespeichert. Hier mal kurz grob den Aufbau der Tabellen dargestellt.

    Tabelle Bilder:
    id
    fromUser
    timestamp

    Tabelle ignorierListe:
    id
    fromUser
    ignorierterUser

    Wie kann ich die oben dargestellte Abfrage nun erzeugen, sodass nur Datensätze selektiert werden, von denen ich nicht "ausgeschlossen" wurde?

    Oder ist es Servertechnisch besser, wenn ich alle Datensätze abfrage, die ignorierListe abfrage und dann vor der Ausgabe überprüfe, ob der User berechtigt ist, das Bild zu sehen?

    Danke für eure Hilfe

  • #2
    Welche (No?)SQL-Datenbank ist denn im Einsatz?

    Kommentar


    • #3
      PHP-Code:
      SELECT idfromUsertimestamp FROM Bilder WHERE fromUser NOT IN (SELECT ignorierteUser FROM ignorierListe WHERE fromUser UserIdentifier
      So in die Richtung sollte die Abfrage aussehen
      [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
      [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

      Kommentar


      • #4
        Bei (My)SQL würde das einfach so aussehen: SELECT ... FROM bilder b LEFT JOIN ignore i ON b.user_id=i.user_id WHERE ISNULL(i.user_id)

        Kommentar


        • #5
          Zitat von VPh Beitrag anzeigen
          PHP-Code:
          SELECT idfromUsertimestamp FROM Bilder WHERE fromUser NOT IN (SELECT ignorierteUser FROM ignorierListe WHERE fromUser UserIdentifier
          So in die Richtung sollte die Abfrage aussehen
          Sehr cool danke für die schnelle Antwort. Ein wenig angepasst und schon hat's funktioniert

          Kommentar

          Lädt...
          X