+ Antworten
Ergebnis 1 bis 7 von 7

Thema: [MySQL] Queries zusammenfassen

  1. #1
    TP-Member !duesi macht alles soweit korrekt Avatar von !duesi
    Registriert seit
    Apr 2005
    Ort
    der schönen Schweiz
    Beiträge
    78

    [MySQL] Queries zusammenfassen

    Hallo zusammen,

    Ich bin gerade dabei, ein kleines Forum zu schreiben (und nein, ein bereits bestehendes ist keine Lösung, da es 1. nicht gross wird und 2. perfekt auf unsere Seite angepasst werden muss). Es geht auch eher um das MySQL Statement.

    Die Situation:
    ==========
    - Ich habe drei Tabellen:
    forum_cat (catID | titel | description) // Die Forumskategorien, Foren
    forum_thread (threadID | catID | titel | userID) // Die Beiträge innerhalb einer Kategorie, mit Ersteller
    forum_beitrag (bID | threadID | userID | datum | text) // Der Beitrag selber

    - Ausserdem habe ich folgende Ansichten:
    Forenübersicht
    Themenübersicht (innerhalb einer Kategorie)
    Der Beitrag selber

    Wie ein Forum halt so aufgebaut ist

    Der Beitrag selber stellt kein Problem dar.
    Probleme bereiten mir die Forenübersicht, wo ich den jeweils neusten Beitrag verlinken möchte. Sowie die Kategorienübersicht, wo ich einerseits die Themen geordnet haben möchte, andererseits wiederum zum neusten Beitrag verlinken.
    Und zwar weiss ich nicht, wie ich die Queries "verlinken" soll, um möglichst wenig Queries zu haben.
    Natürlich kann ich alles einzel abfragen mit mehreren Queries, aber geht es auch anders?

  2. #2
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Sofern die Tabellen miteinander etwas zu tun haben, kann man diese mit JOINS verknüpfen
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  3. #3
    TP-Member !duesi macht alles soweit korrekt Avatar von !duesi
    Registriert seit
    Apr 2005
    Ort
    der schönen Schweiz
    Beiträge
    78
    Hm ja klar, das versuch ich ja auch

    Aber bei der Übersichtsseite müsste ich ja dann über 3 Tabellen joinen:
    - forum_cat die Kategorien auslesen -> bei forum_thread alle Threads dieser Kategorie suchen -> bei forum_beitrag den neusten Beitrag der jeweiligen Threads bestimmen.
    Und da steh ich an

  4. #4
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Hast du dir denn JOINs überhaupt mal angesehen, bzw. erste Versuche damit gemacht?
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  5. #5
    TP-Member !duesi macht alles soweit korrekt Avatar von !duesi
    Registriert seit
    Apr 2005
    Ort
    der schönen Schweiz
    Beiträge
    78
    Wow, das ging aber schnell

    Ja hab ich, über zwei Tabellen hab ich auch überhaupt keine Probleme damit.

    Code:
    $threadquery = mysql_query("SELECT t.threadID, t.catID, t.titel, b.threadID, b.datum FROM veranstalter_forum_thread t LEFT JOIN veranstalter_forum_beitrag b ON b.threadID = t.threadID WHERE t.catID = '" . $catID . "' ORDER BY b.datum DESC");
    Diesen Query nutze ich für die Übersicht in der einzelnen Kategorie

  6. #6
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Und wo scheitert du jetzt dran? Du kannst es doch um ein weiteres LEFT JOIN ... ON ... einfach erweitern?
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  7. #7
    TP-Member !duesi macht alles soweit korrekt Avatar von !duesi
    Registriert seit
    Apr 2005
    Ort
    der schönen Schweiz
    Beiträge
    78
    Hier:
    Code:
    mysql> SELECT c.catID, c.titel as head, c.description, t.threadID, t.catID, t.threadID, t.titel, b.bID, b.threadID, b.datum, b.userID 
    --> FROM veranstalter_forum_cat c 
    --> LEFT JOIN veranstalter_forum_thread t ON t.catID = c.catID 
    --> LEFT JOIN veranstalter_forum_beitrag b ON b.threadID = t.threadID 
    --> GROUP BY b.threadID 
    --> ORDER BY c.catID");
    und zwar müsste ich die catID ASC sortieren, wohingegen datum DESC sortiert werden sollte, da ich ja den jeweils neusten Beitrag verlinken möchte, trotzdem aber die Foren nach catID ausgeben möchte...

+ Antworten

Stichworte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51