Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> proste zapytanie do bazy
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


Witam mam 2 bazy

1.
KRAJE
id, nazwa
1, polska
2, rumunia
3, slowacja

2.
MIASTA
id, idKraju, nazwaMiasta
1 1 Wrocław
2 1 Zakopane

i teraz jak wyciągnąć z tego (będąc w posiadniu id kraju i id miasta) jeden wiersz w jedynm zapytaniu

Próbowałem cos z join
  1. $miejscowosc=mysql_query("SELECT kraje.nazwa, miasta.nazwa ".
  2. "FROM kraje ' LEFT JOIN miasta ".
  3. "ON kraje.id = miasta.idKraju ");
  4.  


Tylko że to mi wybiera wszystkie więc dołozyłem:
  1.  
  2. $miejscowosc=mysql_query("SELECT kraje.nazwa, miasta.nazwa ".
  3. "FROM kraje ' LEFT JOIN miasta ".
  4. "ON kraje.id = miasta.idKraju ".
  5. "Where miasta.id='$idmiasto'");
  6.  


Ale to też nie to
Go to the top of the page
+Quote Post
trafas
post
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 12
Dołączył: 31.05.2006

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


Witam,

Napisałeś że do zapytania będziesz podawał id miasta oraz id kraju (będąc w posiadniu id kraju i id miasta).

Więc lepiej bedzie ci pobrać dane z tabeli miasta ( masz w nim połączenie kraju z miastem ) i łączyć ją z tabelą kraje. Na końcu ograniczas wyświetlanie do podanego id krau i id miasta:

  1. SELECT
  2. k.nazwa,
  3. m.nazwaMiasta
  4. FROM miasta m
  5. JOIN kraje k ON k.id = m.idKraju
  6. WHERE k.id = 1 AND m.id = 1

Go to the top of the page
+Quote Post
f1ames
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 11.02.2011
Skąd: Polska

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


Można też bez joina(chociaż zawsze wydaje mi się bardziej elegancki:D)

  1. SELECT k.nazwa, m.nazwaMiasta
  2. FROM kraje k, miasta m
  3. WHERE m.id = $idMiasto AND k.id = m.idKraju
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 14.10.2025 - 01:38