![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hej, mam problem z zapytaniem do mojej bazy danych. Mam 2 tabele:
Chce na mojej stronie php wyswietlic tabele z kolumnami nazwa zabytku, Opole, Warszawa, Szczecin, Zakopane, w których znajdują się odpowiednio nazwy zabytków, a potem jeżeli występuje on w Opolu, Warszawie, itd. to słowo "TAK" a jak nie, to słowo "NIE". Mam następujący kod php:
Wynik wygląda mniej więcej tak: Chodzi o to, że zamiast jednego wiersza pokazują się 4 z tą zamą nazwą. Jak pisałam distinct przed selectem lub group by na końcu, zapytanie pobierało tylko jeden pierwszy wiersz dla każdego zabytku, tzn. wpisywało "TAK" w kolumnie Opole i "NIE" w reszcie, mimo, że powinno wpisać "TAK". Jeżeli ktoś coś z tego co napisałam zrozumiał i ma pomysł jak to można rozwiązać, będę bardzo wdzięczna. Pozdrawiam, ~miki |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim masz zle zaprojektowana baze danych. Tabela miasta jest ok, ale tabela zabytki to nieporozumienie.
![]() Jesli chcesz miec poprawnie opracowany uklad tabel, przy relacjach typu m:n (wiele do wiele) - jak to zachodzi w przypadku kiedy dany rodzaj zabytku moze byc w wielu miastach, ale tez w jednym miescie moze byc wiele roznych rodzajow zabytkow - nie uda Ci sie uniknac tabel pomocniczych. Co do istoty Twojego pytania. Zarowno przy zachowaniu twojego ukladu tabel, jak i przyjmjac moj. Nie da sie wykonac takiego zapytania, ktore zwrociloby wynik dajacy sie bezposrednio przedstawic w formie przez ciebie oczekiwanej. Uzycie dinstinct w tym przypadku nie ma sesu. Kwestie sformatowania wynikow nalezy pozostawic php Mozna to zrobic np. przy pomocy tablic i petli for
Do tego jak stworzyc podane wyzej tablice oraz pozostale zmienne proponuje abys doszla sama. -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie za pomoc! Mam teraz niezły orzech do zgryzienia w związku z funkcją array, ale może coś wymyślę.
Pozdrawiam, ~miki ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
array(); to nie funkcja tylko tablica - taki sposob przechowywania danych.
Zapoznaj sie z tablicami bo bez tego ani rusz. -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
A czy można zbudować taką tablicę array pobierając dane z bazy danych?? Ponieważ Ty stworzyłeś je wpisując ręcznie; a jeżeli tych rodzajów zabytków byłoby 100, to czy można je pobrać do takiej tablicy z bazy??
~miki ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 0 Dołączył: 4.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
i teraz mozesz sie odwolywac do tablicy zabytki. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:15 |