Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Wyświetlanie na jakiej podstronie jest użytkownik, czyli popularny breadcamp
pionas
post 9.11.2011, 09:03:07
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 2
Dołączył: 25.03.2009
Skąd: Pionki

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


Cześć,

od kilku dni zastanawiam się jak zrobić zautomatyzowanego breadcamp'a (takiego jak w wordpress czy joomla).
Jak wy sobie poradziliście z tego typu działaniami?
Stworzyliście osobną klasę, czy do podstron dodajecie jakieś informacje, które generują całość?
Może w bazie przechowujecie informację o modułach i na ich podstawie to wyświetlacie?

Pytam bo chcę dopisać go do swojej strony, a nie mam pojęcia od czego zacząć wink.gif

Pozdrawiam i dziękuję


--------------------
Organizujesz konkurs? Chcesz coś wygrać? Wejdź na www.e-Konkursy.info :)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Sephirus
post 9.11.2011, 09:17:24
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Pracując w jakimkolwiek frameworku MVC nie jest to zadanie trudne - przykładowo wystarczy zrobić sobie ogólnie dostępną tablicę modułów, kontrolerów i akcji

  1. $nav = array(
  2. 'modul' => array(
  3. 'kontroler' => array(
  4. 'akcja' = 'To jest ta akcja'
  5. )
  6. )
  7.  
  8. );
  9.  


Teraz wystarczy sprawdzić po kolei moduł, kontroler i akcję, podstawić opdowiednio do tabeli i mamy wynik do wpisania w tym naszym polu "gdzie jesteś".
Aby zrobić coś w stylu: "strona => artykuly => ze swiata => Najnowsza wersja PHP 8.0 już w sprzedaży!" wystarczy dodać jeszcze tablicę nazw wyświetlanych dla modułów (artykuly) i kontrolerów (ze swiata)

  1. $navModules = array('articles' => 'artykuly');
  2. $navControllers = array('world' => 'ze swiata');


I robisz jakiś jeden skrypt który sczytuje dane moduł/kontroler/akcja i używa odpowiednich tablic by wyświetlić zawartość paska "gdzie jesteś".


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
by_ikar
post 9.11.2011, 10:02:51
Post #3





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Ewentualnie jeżeli chciałbyś coś w rodzaju listy użytkowników i kto gdzie jest, to jeżeli masz w bazie danych tabelę w której umieszczasz użytkowników online (sesja, ip, czas ostatniej wizyty ect) możesz do tego dodać jeszcze jedną kolumnę z tym o czym pisał @Sephirus wtedy przy każdym wejściu na stronę, jak aktualizujesz dane w tabeli z użytkownikami online, zaktualizuj też jego miejsce gdzie się znajduje. Wtedy będziesz mógł zrobić tak jak jest tutaj na forum na samym dole, informację jacy użytkownicy są na tej samej stronie.
Go to the top of the page
+Quote Post
pionas
post 9.11.2011, 10:08:18
Post #4





Grupa: Zarejestrowani
Postów: 70
Pomógł: 2
Dołączył: 25.03.2009
Skąd: Pionki

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


O faktycznie, fajna sprawa, tylko masz jeszcze jakiś pomysł na jeszcze większe zaautomatyzowanie tego?
Obecnie muszę dodać moduły, kontrolery i akcje do tablicy, może dodać je do jakieś tabeli w bazie?
Może coś takiego:
nav_module:
id_modulu
modul // unikalna nazwa przekazana w zmiennej/adresie strony identyfikująca dany moduł
text // tekst który ma być wyświetlany zamiast nazwy modułu


nav_kontroler:
id_kontroler
id_modul
kontroler // unikalna nazwa przekazana w zmiennej/adresie strony identyfikująca dany kontroler
text // tekst który ma być wyświetlany zamiast nazwy kontrolera

nav_akcja:
id_akcja
id_kontrolera
akcja // unikalna nazwa przekazana w zmiennej/adresie strony identyfikująca daną akcję
text // tekst który ma być wyświetlany zamiast nazwy akcji

I potem może coś takiego:
Kod
SELECT akcja.text akcja, kontroler.text kontroler, modul.text modul FROM akcja, kontroler, modul WHERE akcja.akcja='{nazwa_akcja}' and akcja.id_kontrolera=kontroler.id_kontroler and modul.id_modul=kontroler.id_modulu


--------------------
Organizujesz konkurs? Chcesz coś wygrać? Wejdź na www.e-Konkursy.info :)
Go to the top of the page
+Quote Post
Sephirus
post 9.11.2011, 11:00:34
Post #5





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


No to nie ma dużego znaczenia - tak czy siak będziesz musiał pamiętać o aktualizacji tych tablic czy to w PHP czy w BD smile.gif

Zależy to też od wielkości serwisu. Możesz też zrobić to tak jak pisaliśmy za wyłączeniem samej akcji.

jeżeli to na przykład będzie strona -> artykuły -> ze świata -> Nowe PHP już w sprzedaży!

To widać na pierwszy rzut oka że "ze świata" to kategoria a "Nowe PHP..." to nazwa/tytuł artykułu - można więc zatem w samej akcji (gdzie najlepiej będzie stwierdzić gdzie jesteśmy dodać linijkę która właśnie ustali kategorię i tytuł - i tak najprawdopodobniej będzie gdzieś pobierana.

Wszystko zależy od samej struktury strony - sęk w tym by właśnie jak najbardziej to zautomatyzować ale nie powodować przy tym wielu dodatkowych zapytań do bazy czy skomplikowanej edycji.

To już zadanie dla Ciebie wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:02