Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> JOIN - porównanie dwóch tabel i wyciągnięcie rekordu
benzulli
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


Witam

  1. SELECT newsy.*, id_kategorii FROM newsy JOIN kategorie ON newsy.id_kategorii = kategorie.id ORDER BY id DESC LIMIT 0,5


Witam

mam problem, mianowicie chciałbym wyciągnąć z tabeli kategorie rekord "tytul". Chodzi o to, aby był on kompatybilny z rekordem id_kategorii w tabeli newsy. Zastosowałem komendy jak powyżej i stanąłem w miejscu, bo gdy zmienię id kategorii w danym rekordzie to zamiast np. tej 1 pokazuje 4 (było 1, zmieniłem na 4 w kategorie i pokazuje 4 - wszystko jest ok). Chciałbym natomiast, aby serwer pokazywał nie id kategorii, lecz tytul kategorii. Kiedy wpiszę newsy.id_kategorii = kategorie.tytul to w ogóle nie wyświetla newsów.

Tabela kategorie składa się z :
1. id (1,2)
2. tytul (Ziołolecznictwo, Ogrodnictwo)

Go to the top of the page
+Quote Post
gothye
post
Post #2





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


zmień :

  1. SELECT newsy.*, id_kategorii


na

SELECT newsy.*, id_kategorii , kategorie.*
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


  1. SELECT * FROM newsy JOIN kategorie ON newsy.id_kategorii = kategorie.id ORDER BY id DESC LIMIT 0,5


PS. Nie potrzebujesz przecież pobierać komórki, którą stosujesz potem jako warunek JOIN. Łączysz ze sobą dwie tabele, tak więc dając * otrzymasz wszystkie komórki z obu łączonych tabel.
Go to the top of the page
+Quote Post
benzulli
post
Post #4





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

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


Nic to nie dało, obydwa sposoby. Problem jest taki, że chciałbym to zrobić używając jednej zmiennej w php.

  1. $query = mysql_query("SELECT newsy.*, id_kategorii FROM newsy JOIN kategorie ON newsy.id_kategorii = kategorie.id order by id desc limit 0,5");
  2. while($rekord = mysql_fetch_array($query)) { echo $rekord[1] $rekord[2]; itd... }


Ale ze mnie bambus - nie uwzględniłem tego, że te dwie tabele się łączą i z drugiej tabeli rekordy zapisują się po rekordach z pierwszej tabeli - zmieniłem jedynie id zmiennej w echo i działa (IMG:style_emoticons/default/smile.gif)

Ten post edytował benzulli 18.07.2013, 22:24:19
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: 17.09.2025 - 11:40