Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] wyniki sie dubluja
timber
post 25.11.2007, 21:52:39
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 31.10.2005

Ostrzeżenie: (0%)
-----


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??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Jarod
post 25.11.2007, 21:55:03
Post #2





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Zastosować DISTINCT ?

Podaj strukturę tych dwóch tabel..


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
timber
post 25.11.2007, 22:01:13
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 31.10.2005

Ostrzeżenie: (0%)
-----


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)

Ten post edytował timber 25.11.2007, 22:02:42
Go to the top of the page
+Quote Post
phpion
post 25.11.2007, 22:04:24
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Zapomniałeś połączyć obie tabele:
  1. ... AND foto_m.id_fm=mieszkania.id_m

o ile tymi kolumnami łączysz te tabele.
Go to the top of the page
+Quote Post
timber
post 25.11.2007, 22:09:56
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 31.10.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
BaN
post 25.11.2007, 22:47:30
Post #6





Grupa: Zarejestrowani
Postów: 158
Pomógł: 43
Dołączył: 9.11.2007

Ostrzeżenie: (0%)
-----


Zastosuj złączenie LEFT JOIN
Go to the top of the page
+Quote Post
timber
post 25.11.2007, 22:57:04
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 31.10.2005

Ostrzeżenie: (0%)
-----


dzieki, działa tak jak chciałem! Dzięki za pomoc!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:05