Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: porównanie danych z 2 tabel
Forum PHP.pl > Forum > PHP
malin90
Witam,
mam taki problem...
W bazie posiadam 2 interesujące mnie tabele, które wyglądają następująco:
(pomijam nieznaczące rekordy, a kropki dodaje dla lepszej czytelności cool.gif )

tabela1 nazwa: oferty

id | ... | ... | wojewodztwo |
55| ... | ... |.........10.........|

tabela2 nazwa: wojewodztwa_lista

id | .....nazwa.....|
10| mazowieckie |

Problem polega na tym, że nie potrafię wyświetlić nazwy województwa
z tabeli2 odpowiadającej rekordowi z kolumny wojewodztwo z tabeli1
Mam nadzieję, że jasno to opisałem...

Teraz opisze jak to chciałem zrobić :
Najpierw chciałem pobrać id z z tabeli wojewodztwa_lista,
następnym poleceniem, nazwę z tej samej tabeli.
Zaraz po tym pobrałem rekord z kolumny wojewodztwo z tabeli oferty

Następnie chciałem porównać wartość id z rekordem w kolumnie województwo z tabeli oferty
i jeśli będą takie same wyświetli wartość nazwa z tabeli wojewodztwa_lista

Poniżej fragment kodu (zaznaczam że nie mam zbyt dużego doświadczenia z php)
  1. $zapytanie3 = mysql_query("SELECT id FROM wojewodztwa_lista");
  2. $result1 = mysql_query($zapytanie3);
  3.  
  4. $zapytanie5 = mysql_query("SELECT nazwa FROM wojewodztwa_lista WHERE id = $result1");
  5. $wojewodztwo = mysql_query($zapytanie5);
  6.  
  7. $zapytanie4 = mysql_query("SELECT wojewodztwo FROM oferty");
  8. $result2 = mysql_query($zapytanie4);
  9.  
  10.  
  11. if ($result1=$result2)
  12. {
  13. $wojewodztwo = $zapytanie5['$nazwa'];
  14. }


Błagam pomóżcie...
r4xz
  1. SELECT oferty.*, wojewodztwa_lista.nazwa FROM oferty, wojewodztwa_lista WHERE oferty.wojewodztwo = wojewodztwa_lista.id


kurs - np. http://www.webdeveloper.pl/manual_mysql/sh...ual_toc_pl.html
IceManSpy
Zapytanie będzie mniej więcej wyglądać tak:
  1. SELECT * FROM `oferty` LEFT JOIN `wojewodztwa_lista` ON oferty.wojewodztwo = wojewodztewa_lista.id
malin90
wykorzystałem kod podany przez r4xz:
  1. SELECT oferty.*, wojewodztwa_lista.nazwa FROM oferty, wojewodztwa_lista WHERE oferty.wojewodztwo = wojewodztwa_lista.id


pojawił się jednak maleńki kłopocik...
otóż gdy w bazie zapisanych jest więcej niż 1 ofert, z różnych województw, przy każdej ofercie wyświetlana jest
ta sam nazwa województwa, (przy każdej z ofert wyświetlana jest nazwa województwa z ostatnio dodanego ogłoszenia)
Domyślam się że pytanie nie uwzględnia id pojedynczej oferty...

Dziękuję r4xz za link do kursu, będę go "zgłębiał", obawiam się jednak, że zanim dojdę do tego jak rozwiązać problem,
minie sporo czasu, dlatego chciałbym się spytać czy raz jeszcze mogę liczyć na Waszą pomoc ?

Pozdrawiam

udało sie nerdsmiley.png

zastosowałem taki oto kodzik:
  1. SELECT * FROM oferty JOIN wojewodztwa_lista WHERE oferty.wojewodztwo = wojewodztwa_lista.id AND oferty.id = '$id'


Dziękuję za okazaną pomoc, pozdrawiam
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.