Hirdetés

Új hozzászólás Aktív témák

  • sztanozs
    veterán

    Sziasztok!

    Elég érdekes kérdésbe futottam:
    Apróhirdető oldal, szűrések.
    Vannak kategóriák, a kategóriáknak pedig sajátos mezői, pl ha ingatlant választ, akkor kijön h szobák száma, ha autót választ akkor futott kilóméter stb, kb ezer ilyen custom mező jelenhet meg.
    Mivel ez nem lehet egy táblában termékenként 1000 oszlopban tárolni, ezért a custom paramétereket úgy tárolom, hogy egy külön táblában elmentem az adott hirdetés id-ját, az adott paraméter nevét (custom_szobakszama, custom_kilomterek), és a hozzá tartozó értéket.
    Ez rendben is van, menti szépen, visszatölti szépen szerkesztésnél stb stb...

    Kérdésem az lenne, hogy hogy tudok ez alapján szűrni, keresni?

    Pl:
    Hirdetések tábla:
    id,feltöltő_id,hirdetés címe,hirdetés szövege,dátum,kategória1,kategória2,kategória3,
    1,110,Ingatlan hirdetés,Hirdetésem szövege,2015.10.10,45
    2,110,Autó hirdetés,Hirdetésem szövege,2015.10.11,48

    Custom mezők tábla
    id,hirdetés_id,mező_neve,érték
    1,1,szobak_szama,3
    2,1,terulet,32
    3,2,kmora,10000
    4,2,loero,10

    Ossze van joinolva 3 kategora tabla, es a user tabla is, ebbe a lekérdezésbe kellene megoldani, hogy WHERE-el keresni tudjak a customs mezők tábla alapján is. Pl ha az összes olyan hirdetést akarom ahol a szobak_szama =3 azt hogy tudom lekérni?

    Előre is köszi. :R
    Esküszöm megkeresném, mint mindig mindent, de ezt most fogalmam sincs hogy írjam be :DD

    Szvsz, mindent vigyél fel, mint általános kategóriát valahogy így:

    Hirdetés
    hirdetés_id, feltöltő_id, hirdetés_típusa_id, hirdetés_címe, hirdetés_szöveg

    Hirdetés típus
    hirdetés_típus_id, hirdetés_típus_szöveg

    Kategória_típus
    kategória_id, hirdetés_típus_id, kategória_név, kategória_leírás

    Hirdetés_kategória_értékek
    hirdetés_id, kategória_id, érték

    Lekérdezés
    SELECT
    h.hirdetés_id,
    h.hirdetés_címe,
    h.hirdetés_szöveg,
    t.hirdetés_típus_szöveg,
    k.kategória_név,
    e.érték
    FROM
    hirdetés h
    JOIN Hirdetés_kategória_értékek e ON h.hirdetés_id = e.hirdetés_id
    JOIN Hirdetés típus t ON h.hirdetés_típusa_id = t.hirdetés_típusa_id
    JOIN Kategória_típus k ON e.kategória_id = k.kategória_id
    WHERE
    h.hirdetés_id IN (
    SELECT hi.hirdetés_id FROM
    hirdetés hi
    JOIN Hirdetés_kategória_értékek ei ON hi.hirdetés_id = ei.hirdetés_id
    JOIN Kategória_típus ki ON ei.kategória_id = ki.kategória_id
    WHERE
    ki.kategória_név = "Szobák száma" AND ei.érték = 3
    )

Új hozzászólás Aktív témák