Witam

Mam trzy tabele z danymi. Tabela wejscie, osoby, adres.

Z tabeli wejscie pobieram do tablic dane z kolumn (id,num,pokoj,wejscie,wyjscie,do_kogo,wprowadzil,wyprowadzil).
Z tabeli osoby pobieram do tablic dane z kolumn (im1,nazw,syn,pesel,ur).
Z tabeli adres pobieram do tablic dane z kolumn (miej,ul,dom).

  1. include "../../osoby/baza.php";
  2. $zapytanie = "SELECT wejscia.id, wejscia.num, wejscia.pokoj, wejscia.wejscie, wejscia.wyjscie, wejscia.do_kogo, wejscia.wprowadzil, wejscia.wyprowadzil, osoby.im1,osoby.nazw,osoby.syn,osoby.pesel,osoby.ur, adres.miej,adres.ul,adres.dom FROM wejscia LEFT JOIN osoby ON wejscia.num=osoby.num LEFT JOIN adres ON wejscia.num=adres.num where (wejscia.data_wej>='$_okres' $pyt) GROUP BY id order by wejscia.data_wej, adres.wp";
  3. $wykonaj = mysql_query($zapytanie) or die ("Błąd 57 : $zapytanie".mysql_error());
  4. while($wiersz = mysql_fetch_array($wykonaj))
  5. {
  6. $id[]=$wiersz['id'];
  7. $num[]=$wiersz['num'];
  8. $pokoj[]=$wiersz['pokoj'];
  9. $wejscie[]=$wiersz['wejscie'];
  10. $wyjscie[]=$wiersz['wyjscie'];
  11. $do_kogo[]=$wiersz['do_kogo'];
  12. $wprowadzil[]=$wiersz['wprowadzil'];
  13. $wyprowadzil[]=$wiersz['wyprowadzil'];
  14. $imie[]=$wiersz['im1'];
  15. $nazw[]=$wiersz['nazw'];
  16. $syn[]=$wiersz['syn'];
  17. $pesel[]=$wiersz['pesel'];
  18. $ur[]=$wiersz['ur'];
  19. $miej[]=$wiersz['miej'];
  20. $ul[]=$wiersz['ul'];
  21. $dom[]=$wiersz['dom'];
  22. }
  23. echo $il=count($num);


Zapytanie działa ale chciałbym nieco inny wynik otrzymać. Okazuje się, że dla danego pola num w tabeli adres istnieją 3 adresy. W moich wynikach mam pobrany pierwszy, a chciałbym ostatni czyli o największym id lub największej dacie (pole zwie się wp).

Napiszę tak na przykładzie :

Otrzymuje takie wyniki :

  1. $id[$x]=8;
  2. $num[$x]=19218;
  3. $pokoj[$x]=311;
  4. $wejscie[$x]=2013-12-06 09:01:00;
  5. itd....
  6. $miej[$x]=Legnica;
  7. $ul[$x]=Kulawa;
  8. $dom[$x]=10;



A chciałbym :
  1. $miej[$x]=Legnica;
  2. $ul[$x]=Polna;
  3. $dom[$x]=22;


Czyli adres najświeższy w bazie, że tak powiem. Jak to posortować na etapie pobierania. Chce pobrać tylko 1 adres i to ten ostatni.