Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] wyniki sie dubluja
Forum PHP.pl > Forum > Bazy danych > MySQL
timber
Witam,
Mam takie zapytanie:

$zapytanie="SELECT * FROM mieszkania, foto_m WHERE mieszkania.rd LIKE '%zewn.%' AND mieszkania.adres LIKE '%$lok%' AND mieszkania.rodzaj_trans LIKE '%$rt%' AND mieszkania.ilosc_p LIKE '%$p%' ORDER by mieszkania.ilosc_p, mieszkania.ilosc_m, mieszkania.cena ASC";

i zapytanie sie wyświetla tylko każdy rekord x2 questionmark.gif
co robie zle??
Jarod
Zastosować DISTINCT ?

Podaj strukturę tych dwóch tabel..
timber
struktura:

CREATE TABLE foto_m (
id_fm int(11) NOT NULL auto_increment,
data_fm datetime NOT NULL default '0000-00-00 00:00:00',
nazwa_fm varchar(200) NOT NULL default '',
oferta_fm varchar(10) NOT NULL default '',
KEY id_fm (id_fm)
) ENGINE=MyISAM DEFAULT CHARSET=latin2;

CREATE TABLE mieszkania (
id_m int(11) NOT NULL auto_increment,
rd varchar(10) NOT NULL default 'zewn.',
adres varchar(200) NOT NULL default '',
dzielnica varchar(150) NOT NULL default '',
ilosc_p varchar(5) NOT NULL default '',
ilosc_m varchar(10) NOT NULL default '',
pi varchar(11) NOT NULL default '',
rodzaj_trans varchar(40) NOT NULL default '',
opis text NOT NULL,
opis2 text,
stan char(2) NOT NULL default '3',
cena varchar(20) NOT NULL default '',
kontakt text NOT NULL,
tel char(2) NOT NULL default 'n',
internet char(2) NOT NULL default 'n',
tel_kab char(2) NOT NULL default 'n',
os_m char(2) NOT NULL default 'n',
os_o char(2) NOT NULL default 'n',
parking_n char(2) NOT NULL default 'n',
parking_s char(2) NOT NULL default 'n',
przedszkole char(2) NOT NULL default 'n',
szkola_pod char(2) NOT NULL default 'n',
gimnaz char(2) NOT NULL default 'n',
przychodnia char(2) NOT NULL default 'n',
plywalnia char(2) NOT NULL default 'n',
market char(2) NOT NULL default 'n',
ter_rek char(2) NOT NULL default 'n',
poczta char(2) NOT NULL default 'n',
przystanek char(2) NOT NULL default 'n',
`status` char(2) NOT NULL default 'A',
KEY id_m (id_m)
) ENGINE=MyISAM DEFAULT CHARSET=latin2;

przy zastosowaniu DISTINCT wywalał mi błąd (chyba cos by zero)
phpion
Zapomniałeś połączyć obie tabele:
  1. ... AND foto_m.id_fm=mieszkania.id_m

o ile tymi kolumnami łączysz te tabele.
timber
próbowałem tak już wcześniej ale wtedy wświetlają mi się tylko te rekordy którem są w obu tabelach a foto_m jest tab. dodatkową z zdjęciami. Powiedzmy, że mam 100 rekordów w mieszkaniach a w foto ok. 50.
BaN
Zastosuj złączenie LEFT JOIN
timber
dzieki, działa tak jak chciałem! Dzięki za pomoc!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.