Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql][php] Pobieranie danych z dwóch tabel
WojtasSP320
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 13
Dołączył: 13.08.2008
Skąd: Chełmno

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


Witam.

Mam mały problem. Chciałbym pobrać dane z dwóch tabel i robię to zapytaniem:

  1. SELECT * FROM zamowienia INNER JOIN klienci ON zamowienia.ID_klienta = klienci.ID GROUP BY ID_klienta

Problem pojawia się w momencie, gdy chcę wyświetlić ID z tabeli zamowienia.
Obie tabele zawierają pola "ID"

zakładając, że robię
  1. $rekord = mysql_fetch_array($query);

jak wyświetlić pole ID z tabeli zamowienia?
  1. $rekord['zamowienia.ID'] ?
  2. $rekord['zamowienia']['ID'] ?

Gdy robię
  1. $rekord['ID']

to pobiera mi ID z tabeli klienci

Z góry dzięki za pomoc

Ten post edytował WojtasSP320 18.08.2009, 16:26:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ja znam sposób z tworzeniem aliasów. nie jest być może zbyt elegancki ale skuteczny.


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





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Najprostszy i najskuteczniejszy jest alias o czym wspomniano. Jeśli wiesz, że obie tabele zawierają zdublowane pole to ja mu ustawiam alias. Osobiście nie używam niemal wcale * przy select, no chyba że to mała tabelka. To ogranicza ilość przesyłanych danych, a tym samym zwiększa szybkość działania skryptu. W Twoim wypadku mogło by to wyglądać tak:
  1. SELECT k.*, z.ID AS id_aliasowe FROM zamowienia z INNER JOIN klienci k ON z.ID_klienta = k.ID GROUP BY z.ID_klienta

Ale to tylko przykład, bo nie znam struktury Twojej tabeli smile.gif k.* oznacza wybranie wszystkich pól z tabeli klientów (tabelom nadałem aliasy k = klienci, z = zamówienia, by skrócić zapytanie), zaś z.ID AS id_aliasowe to własnie ów alias smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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 Aktualny czas: 21.08.2025 - 11:12