MySQL - 3 Tábla - szűkítés
Segítség kellene az alábbi egyszerűsített modell használatával.
Termékeket szeretnék listázni (név-gyártó-település), oly módon, hogy csak azokat mutassa meg, amiknek a gyártója telepules_id azonosítójú településen található.
Ebben kérnék segítséget. Az éles környezetben a termek táblához a többi tábla JOIN LEFT-el kapcsolódik.
■ | termek | | gyarto | | telepules |
|-----------| |--------------| |-----------|
| id | | id | | id |
| nev | | nev | | nev |
| gyarto_id | | telepules_id | -----------
----------- --------------
|-----------| |--------------| |-----------|
| id | | id | | id |
| nev | | nev | | nev |
| gyarto_id | | telepules_id | -----------
----------- --------------
Termékeket szeretnék listázni (név-gyártó-település), oly módon, hogy csak azokat mutassa meg, amiknek a gyártója telepules_id azonosítójú településen található.
Ebben kérnék segítséget. Az éles környezetben a termek táblához a többi tábla JOIN LEFT-el kapcsolódik.
Közben lehet, hogy
Ezt lehetne megoldás illetve lehet esetleg szebben?
SELECT tk.id AS termekId, tk.nev AS termekNev, gy.nev AS gyartoNev, ts.nev AS telepulesNev
FROM termek AS tk
LEFT JOIN gyarto AS gy ON gy.id=tk.gyarto_id
LEFT JOIN telepules AS ts ON gy.telepules_id=ts.id
WHERE tk.id = '$telepules_id'
A where feltételed nem jó,
A harmadik táblát be sem kell hívnod.
Valahogy, így nézne ki ( nem teszteltem )
Látom kell a település neve
Igen, közben láttam, hogy
A prepared statement-et pontosan miért kell használnom?
Mysqli-t használok az igaz, de szoktam real_escape_string()-et használni.
Csak érdekel, hogy mit is tud. Referenciát néztem róla, de nekem olyan sprintf() feeling-je van. Gondolom nem kell akkor mellé már a real_escape_string() sem.
Megszokás... Másrészt prepare
Egyszer felejted el az