Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie danych z dwóch tabel - zamiana zmiennej na słowo
Forum PHP.pl > Forum > Bazy danych > MySQL
PWN
Mam problem ze zrobieniem pewnej rzeczy otóż mam dwie tabele jedna to "dane" i są w niej pola takie jak id, nazwa, plik i kategoria
natomiast druga "kategoria" i są w nim dwa pola id i nazwa.

  1. INSERT INTO `dane` (`id`, `nazwa`, `plik`, `kategoria`) VALUES
  2. (1, 'Nazwa 1', 'zdjecie1.jpg', '2'),
  3. (2, 'Nazwa 2', 'zdjecie2.jpg', '1'),
  4. (3, 'Nazwa 3', 'zdjecie3.jpg', '2'),



  1. INSERT INTO `kategoria` (`id`, `nazwa`) VALUES
  2. (1, 'Ameryka'),
  3. (2, 'Europa')


I wywołując teraz wpis na stronie z tabeli "dane" chcę aby aby zamiast wyświetlania Kategoria: 1 było Kategoria: Ameryka
- jak zrobić to najprościej?

Dzięki

Pozdrawiam,
gothye
Przez LEFT JOIN

  1. SELECT * FROM dane
  2. LEFT JOIN kategoria ON kategoria.id = dane.kategoria
nospor
PWN chyba sam widzisz, że problem nie ma żadnego związku z PHP. Czemu więc dajesz to w dziale PHP?? Przenosze.
PWN
Cytat(gothye @ 10.08.2011, 11:51:03 ) *
Przez LEFT JOIN

  1. SELECT * FROM dane
  2. LEFT JOIN kategoria ON kategoria.id = dane.kategoria


oj nie chce to coś działać... jak można inaczej połączyć dwie tabele
tak jak pisałem pierwsza tabela (dane) ma kilka kolumn m.in. id oraz kategoria
natomiast druga (kategoria) ma dwie kolumny id i nazwa.
W tabeli dane w kolumnie kategoria są cyfry, które mają być zamienione na
słowo znajdujące się przy ID z tabeli kategorie.

Dzięki.

Pozdrawiam,
mortus
Trzeba określić, które pola chcemy wybrać, ale to nie powinno stanowić kłopotu:
  1. SELECT `d`.`id`, `d`.`nazwa`, `d`.`plik`, `k`.`nazwa` FROM `dane` `d`
  2. LEFT JOIN `kategoria` `k` ON `k`.`id` = `d`.`kategoria`

Jeśli coś będzie nie tak, to wypadałoby napisać, co.
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.