Datenbankaufruf mit abgleich mehrerer Tabellen(bildgal. mit Hits & Comments)

chrisbhv

Mitglied
Hallo,

Wiedermal arbeite ich an einer Bildgalerie, die jedoch einen kleinen schritt weitergehen soll.

Ich wollte eine Bildgalerie basteln, die mit Hits und Comments versehen sind.

---------------------------------------------------------------------------------------------------------------
Ich habe folgende Tabellen:

galerie
id--dir--topic--hits

galerie_bild
id--dir_id--pic_path--voting

galerie_comment
id--pic_id--name--datum--comment

---------------------------------------------------------------------------------------------------------------


Auf der ersten seite soll folgendes erscheinen:
Aus "galerie":
-dir – wird als Link mit neuem Fenster
-topic (ANZEIGEN)
-hits (ANZEIGEN)
Aus Galerie_bild:
-pic_path - wo Vorschaubild sein soll
-voting (ANZEIGEN)
Aus Galerie_comment:
- letzten 2 geposteten Comments



Mein Problem ist, es aus diesen ganzen tabellen, die Sachen anzuzeigen.

Folgendes BSP:
10 Datensätze sind gegeben:

User will "galerie" "id" 5 sehen.
zu dieser Galerie soll er dann ja auch entsprechend ein Vorschaubild bekommen. (das ist nicht das Problem) zudem soll er auch die topic, hits, letzten 2 comments angezeigt bekommen.

Ich weiss leider nicht, wie man jeweils die id immer zuordnet.
Bei Switch und Case ist es nicht das Problem immer die id zu übergeben - jedoch arbeite ich ja nicht mit switch und case - da der Benutzer bis hierhin ja noch keinen "klick" gemacht hat.

Fazit: Ich benötige den mySQL aufruf mit abgleich der id´s

Ich hoffe es ist verständlich ausgedrückt, und ihr wisst was ich meine.

Vielen Dank für eure Hilfe.

Gruß
Christian
 
Du möchtest also zu gegebener galerie_id und gegebener pic_id das galerie_topic und die letzten 2 comments zum pic auslesen?
Code:
SELECT topic FROM galerie WHERE id={galerie_id}
SELECT * FROM galerie_comment WHERE pic_id={pic_id} LIMIT 2 ORDER BY datum DESC
Wenn du was anderes gemeint hast, dann drück dich verständlicher aus :)
 
galerie
id--dir--topic--hits
galerie_bild
id--dir_id--pic_path--voting
galerie_comment
id--pic_id--name--datum--comment


ich nehem ejtzt mal an, dass dir_id in galerie_bild die id der entsprechenden galerie und pic_id in galerie_comment die id aus galerie_bild ist.

ein query sollte dann wie folgt aussehen:
PHP:
$query = 'SELECT 
 g.id as galerie_id, g.topic as topic, g.hits as hits, 
 b.id as bild_id, b.pic_path as pic_path, b.voting as voting, 
 c.id as comment_id, c.name as comment_name, c.datum as comment_datum, c.comment as comment 
 FROM gallerie as g, galerie_bild as b, galerie_comment as c 
 WHERE g.id=5 AND b.dir_id=5 AND c.pic_id=b.id 
 ORDER by b.name asc, c.datum desc';
hiermit hättest du alle informationen in einem query, bzw return.
problem hierbei ist nur, dass sich die anzahl der comments (soweit ich weiß) nicht auf jeweils 2 reduzueren lassen.
man müsste dann im while-statement eben immer nur die ersten beiden kommentare beachten und bis zum nächsten bild nichts ausgeben.

//greets
//bay taste
 
Zurück