Autor Zpráva
fxadm
Profil
Chtěl bych na stránce s článkem vypsat další články, které mají stejné tagy (jeden článek může mít více tagů).

V databázi mám tabulku tag_vztahy, která obsahuje sloupce ID, clanek ID, tag ID.

Pak tabulku clanky, která z užitečných informací obsahuje jen sloupec ID, který se shoduje se zmíněným sloupcem clanek ID.

A nakonec tabulku tagy obsahující sloupce ID (shodující se s tag ID v první tabulce) a jmeno_tagu.

Při dotazech na databázi musím vycházet z toho, že vím jen hodnotu clanek ID.

Našel jsem, že by mělo fungovat něco níže uvedeného, ale nedovedu si to upravit tak, aby mi to fungovalo.

$sql = mysql_query("
    SELECT b.*
    FROM tag_vztahy bt, clanky b, tagy t
    WHERE bt.tag_id = t.id
    AND b.id = bt.clanek_id
    GROUP BY b.id

Dokážete mi prosím pomoci?
juriad
Profil
SELECT DISTINCT c.*
FROM tag_vztahy v1
JOIN tag_vztahy v2 ON v1.tag_id = v2.tag_id AND v1.id != v2.id
JOIN clanky c ON v2.clanek_id = c.id
WHERE v1.clanek_id = $id

(podminka where) vztahy1 -- vztahy2 -- clanky (vystup)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: