Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]tabela w php, jeden do wielu? jak?
sindbad_zeglarz
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 18.04.2012

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


Hejka
Mam w bazie 3 tabele.
1 tabela - posiadłosci
2 tabela - dane userow
3 tabela - zlaczone id z tabela1 z id_tabela2 (jeden do wielu).

Chcialbym wyswietlić raporcik taki, aby w wyniku był następujący efekt.

Id tabela1 | id tabela 2 | imie tab2 | nazwisko tab 2
1 1 G P
tutaj nie chcę powtarzać tego samego id drugi raz tylko dać inne dane dane z id_tabeli2 , imie i nazwisko.


Przykład: DOM może mieć kilku właścicieli.
Ale jest to jeden DOM = jeden ID a kilka ID wlascicieli.

W SQL-u jakoś nie widzę żeby się to dało zrobić łatwo, chyba że ktoś coś podpowie.
A PHP jak to wyświetlić ?

Podpowiedzcie coś proszę.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Shido
post
Post #2





Grupa: Zarejestrowani
Postów: 121
Pomógł: 22
Dołączył: 22.06.2012

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


Niby bawie się w w SQLu ale takich typowych relacji nie znalazłem.

Ale obeszlem to w taki sposób ( wykorzystam twój przykład z domem ):

Tabela dom:
ID, Nazwa, adres itp.

Tabela wlasciciele:
ID, Dom, imie, nazwisko itp.

i teraz na takiej zasadzie że w kolumnie Dom przy każdym z włascicieli widniej ID domu z tabei dom.

np:
1 | 3 | Jan | Kowalski
2 | 1 | Adam | Nowak
3 | 3 | Maurycy | Bąk

W takim wypadku robiąc raport z włascicieli domów pobierasz sobie z tabeli dom dane koniecznie ID i np. opcjionalnie inne kolumny

i po pobraniu każdego rekordu po ID domu ściągasz sobie z tabeli wlasciciele własicieli gdzie `dom` = '$id'

  1. $zapytanie = "SELECT * FROM `dom`;
  2. $wykonaj = mysql_query ($zapytanie);
  3. while($wiersz=mysql_fetch_array($wykonaj))
  4. {
  5. $id = $wiersz['ID'];
  6. $nazwa = $wiersz['nazwa'];
  7.  
  8. $zapytanie1 = "SELECT * FROM `wlasciciele` WHERE `dom` = '$id';
  9. $wykonaj1 = mysql_query ($zapytanie1);
  10. while($wiersz1=mysql_fetch_array($wykonaj1))
  11. {
  12. $imie = $wiersz1['imie'];
  13. $nazwisko = $wiersz1['nazwisko'];
  14. }
  15. }


Coś w ten deseń.

Można to też zrobic jednym zapytaniem rozległym SQL ale ja osobiście wolę porozbijać to na części i mieć wszystko przejżyste.

Ten post edytował Shido 22.06.2012, 09:46:10
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 12:29