![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm może przedstawię sytuację (nawet wypadaloby
![]() Chciałbym zrobić sobie już powiedzmy "niebadziewny" rotator bannerów, ktory ma nastepującą strukturę bazy danych:
Każdy banner wyświetli się przy określonych warunkach: - jezeli jego czas ważności nie upłynął - jeżeli nie przekroczył swojego limitu wyświetleń - jeżeli nie przekroczył swojego limitu kilknięć (uderzeń) - jeżeli jest w danej kategorii na odpowiedniej stronie ![]() chodzi mi głównie o to, aby dopasować banner do kilku kategorii. Jak postawie 0, banner nalezy do wszystkich kategorii, ale problem jest w tym, aby umieścuić go np w 2 albo nawet 10 kategoriach. I pytanie jest nastepujące: W jaki sposób zapisać jego ID kategorii do których należy? p.s pole kategorii w bannerach możnaby zapisać jako TEXT i wartość mialaby oddzielone przecinkami klategorie, np 4,7,8,10,45, ale trudno byłoby zaznaczać te dane z bazy danych ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 30.04.2006 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Możesz stworzyć oddzielną tabelę:
ID_BANNERA | ID_KATEGORII I tam dodawać. ID_BANNER może (i powinno) się powtarzać. Ten post edytował Kayne 27.07.2006, 08:49:25 -------------------- Chcesz szybko i łatwo wygrać 100 zł?
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm... pomysł nie jest zły... LEFT JOIN wszystko załatwi, a są jeszcze inne rozwiązania?
-------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
hej,
możesz to rozwiązać tworząc dwie tabele, jedną z banerami, a drugą gdzie będziesz miał ID baneru i id kategorii, np: id | id_baneru | id_kategorii 1 | 3 | 4 1 | 2 | 4 1 | 7 | 2 1 | 3 | 5 1 | 2 | 7 itd. Skrypt najpierw pobiera id kategorii, sprawdza jaki ma wyświetlić baner, a następnie z tabeli z banerami sprawdza czy baner spelnia warunki aby jeszcze go wyświetlić, czy kliki są jeszcze możliwe itd. Jeśli ok to baner będzie wyświetlony, jeśli nie to coś co już sobie wymyślisz :-) Pozdrawiam, Łukasz p.s. oo, Kayne zaproponował to samo kiedy pisałem odpowiedź :-) Pozdro! Ten post edytował kossa 27.07.2006, 08:58:24 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 219 Pomógł: 5 Dołączył: 18.07.2006 Skąd: Piekary Śląskie Ostrzeżenie: (0%) ![]() ![]() |
Relacja pomiedzy kategoriami i abnerami to N do N wiec zasady sztuki nakazuja utworzyc trzecia tabele (tak jak koledzy wspomnieli) z id_banera i id_kategorii ale bez dodatkowego klucza glownego. kluczem glownym powinny byc te dwa pola razem.
create table banery_kategorie (id_banera int, id_kategorii int, primary key(id_banera, id_kategorii)) + ewentualne wiezy referencyjne. -------------------- CMS dla Twojej firmy
Wojciech Małota |
|
|
![]()
Post
#6
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
@cicik - nie powtarzaj sie... powiedzimi mi 2 razy nie trzeba pisać ponownie:)
btw: primary na id_kategorii nie może być... a co jak wiele bannerów nalezy do tej samej kategorii? sama nazwa mówi: ROTATOR ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 219 Pomógł: 5 Dołączył: 18.07.2006 Skąd: Piekary Śląskie Ostrzeżenie: (0%) ![]() ![]() |
@cicik - nie powtarzaj sie... powiedzimi mi 2 razy nie trzeba pisać ponownie:) btw: primary na id_kategorii nie może być... a co jak wiele bannerów nalezy do tej samej kategorii? sama nazwa mówi: ROTATOR ![]() Wlasnie dlatego napisalem osobnego posta zeby wyjasnic ze NIE NALEZY robic dodatkowego klucza glownego dla tabeli laczacej banery i kategorie. Klucz glowny ma byc dwukolumnowy. Tak jak napisalem primary key(id_banera, id_kategorii) wtedy kluczem glownym jest kombinacja id banera i id kategorii. Wtedy dziala to dokladnie tak jak ma dzialac. Czyli kazdy abner moze byc w wielu kategoriach i kazda kategoria moze zqwierac dowolna liczbe banerow. Jednoczesnie wyskoczy blad jezeli bedziesz chcial dodac dwa razy ten sam baner do jednej kategorii co chroni spojnosc bazy. -------------------- CMS dla Twojej firmy
Wojciech Małota |
|
|
![]()
Post
#8
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
aha... a wiesz moze jak zrobić taki multiprimarykey przez phpmyadmin? bo u mnie się nie da albo czegoś nie widzę
![]() pozdro ![]() ____ EDIT:
w phpmyadmie tego nie ma ale poradziłem sobie robiąc to ręcznie Ten post edytował Athlan 28.07.2006, 08:48:39 -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Cicik'a uwaga jest istotna w związku z zaprojektowaniem Twojej (Athlan) bazy danych.
Łukasz -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 219 Pomógł: 5 Dołączył: 18.07.2006 Skąd: Piekary Śląskie Ostrzeżenie: (0%) ![]() ![]() |
w phpmyadmie tego nie ma ale poradziłem sobie robiąc to ręcznie w phpmyadminie zaznaczasz opcję "primary key" przy odpowiednich polach -------------------- CMS dla Twojej firmy
Wojciech Małota |
|
|
![]()
Post
#11
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
tak... znalazlem. Jakby ktos szukal to to jest w preferencjach tabeli przy zaznaczeniu poczczególnych pól jako checkboxy dać PODSTAWOWY (lub primary albo taki kuczyk
![]() pozdro ![]() Ten post edytował Athlan 28.07.2006, 09:39:05 -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 12:03 |