Autor Zpráva
Pavel Straka
Profil
Dobrý večer, obracím se na zkušenější s prosbou o radu.
Mám 2 tabulky v MySQL.

"mesta" se sloupci "jmeno" a "id"
"ulice" se sloupci "jmeno" a "id_mesta"

Dále mám jednoduchý našeptávač, který načítá a nabízí jak názvy měst, tak názvy ulic.
Vysvětlím na příkladu:
Uživatel napíše "p" a našeptávač nabídne:
Pelhřimov
Plzeň
Praha
+
Pražská
Popelnicová
Perníková

Jde mi o to, aby našeptávač nabídl i hodnoty typu: Popelnicová, Plzeň, tedy upravit tento dotaz:
"SELECT id,jmeno FROM ulice WHERE LCASE(jmeno) LIKE '%".$q."%' ORDER BY name"
upravit tak, aby bral v potaz i hodnotu id_mesta, respektive jí odpovídající hodnotu id z tabulky mesta.

Děkuji všem za ochotu pomoci.
Tori
Profil
SELECT u.id 'id_ulice', u.jmeno 'jmeno_ulice', m.id 'id_mesta', m.jmeno 'jmeno_mesta'
FROM ulice u
INNER JOIN mesto m ON u.id_mesta = m.id
WHERE LCASE(u.jmeno) LIKE '%".$q."%' 
ORDER BY jmeno_ulice
Taps
Profil
zkus to takto
SELECT m.jmeno as mesto,u.jmeno as ulice FROM ulice as u
inner join mesta as m
on u.id_mesta=m.id
WHERE LCASE(u.jmeno) LIKE '%".$q."%'  or LCASE(m.jmeno) LIKE '%".$q."%' 
ORDER BY m.jmeno,u.jmeno;
Pavel Straka
Profil
Výborně, děkuji Vám oběma.

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:

0