Code:
SELECT apartmani.ime_apartm, apartmani.glavni_opis,apartmani.lokacija, opisi.dodatni_opisi
FROM apartmani LEFT JOIN opisi
ON apartmani.id_apartm=opisi.id_apartm WHERE
apartmani.ime_apartm LIKE '%$pretr%' OR apartmani.glavni_opis LIKE '%$pretr%'
OR apartmani.lokacija LIKE '%$pretr%' OR opisi.dodatni_opisi LIKE '%$pretr%'
GROUP BY apartmani.ime_apartm
SELECT apartmani.ime_apartm, apartmani.glavni_opis,apartmani.lokacija, opisi.dodatni_opisi
FROM apartmani LEFT JOIN opisi
ON apartmani.id_apartm=opisi.id_apartm WHERE
apartmani.ime_apartm LIKE '%$pretr%' OR apartmani.glavni_opis LIKE '%$pretr%'
OR apartmani.lokacija LIKE '%$pretr%' OR opisi.dodatni_opisi LIKE '%$pretr%'
GROUP BY apartmani.ime_apartm
Ovako sam ga ja zamislio i znam da se ne može tako napisati (OR i ne postoji).
U pitanju search forma koja treba da pretraži dvije table (apartmani i opisi) - njihova polja
(apartmani.ime_apartm, apartmani.glavni_opis, apartmani.lokacija,
opisi.dodatni_opisi) da li sadži reč koja je unesena za pretragu ($pretr).
Odgovor na pretragu ne bi trebao da ima duplikate,
odnosno, samo jedan apartman da se izlista od mogućih više razultata za isti apartma.
Te dve tabele izgledaju ovako:
Code:
CREATE TABLE apartmani (
id_apartm INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ime_apartm VARCHAR(25) NOT NULL,
glavni_opis TEXT NOT NULL,
glavna_slika VARCHAR(50) NOT NULL,
kategorija VARCHAR(25) NOT NULL,
lokacija VARCHAR(50) NOT NULL,
br_kreveta TINYINT NOT NULL,
cena REAL NOT NULL,
id_kategor INT NOT NULL,
UNIQUE (ime_apartm),
INDEX (id_kategor),
FOREIGN KEY (id_kategor) REFERENCES tip_apartmana(id_kategor)
)TYPE = INNODB;
CREATE TABLE opisi (
id_opisi INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
dodatni_opisi TEXT NOT NULL,
dodatne_slike VARCHAR(50) NOT NULL,
id_apartm INT NOT NULL,
INDEX (id_apartm),
FOREIGN KEY (id_apartm) REFERENCES apartmani(id_apartm)
) TYPE = INNODB;
CREATE TABLE apartmani (
id_apartm INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ime_apartm VARCHAR(25) NOT NULL,
glavni_opis TEXT NOT NULL,
glavna_slika VARCHAR(50) NOT NULL,
kategorija VARCHAR(25) NOT NULL,
lokacija VARCHAR(50) NOT NULL,
br_kreveta TINYINT NOT NULL,
cena REAL NOT NULL,
id_kategor INT NOT NULL,
UNIQUE (ime_apartm),
INDEX (id_kategor),
FOREIGN KEY (id_kategor) REFERENCES tip_apartmana(id_kategor)
)TYPE = INNODB;
CREATE TABLE opisi (
id_opisi INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
dodatni_opisi TEXT NOT NULL,
dodatne_slike VARCHAR(50) NOT NULL,
id_apartm INT NOT NULL,
INDEX (id_apartm),
FOREIGN KEY (id_apartm) REFERENCES apartmani(id_apartm)
) TYPE = INNODB;