Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Dynamiczna strona
adrianozo
post 7.09.2010, 19:51:11
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Witam wszystkich.

Zacząłem zastanawiać się nad tym jak działają dynamiczne strony takie jak wordpress itp.
Głównie chodzi o nowe zakładki w menu.
Wchodzę do panelu admina i dodaję nową zakładkę o nazwie xxx i odnosnik do niej jest index.php?page=xxx
Tylko jak to jest zrobione, że nie dodaje do indexu ręcznie case include break oraz nie tworze nowego pliku w danym katalogu?
Mam nadzieje, że dobrze to wytłumaczyłem.

Pozdrawiam smile.gif


--------------------
Go to the top of the page
+Quote Post
Mefiuu
post 7.09.2010, 20:02:12
Post #2





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


nie wiem czy o to Ci chodzi, ale ja to ostatnio robiłem do mini CMS ;P mam tabelę w bazie z polami ID, nazwa, link, treść, widoczny. W panelu mam pola do uzupełniania tego (tak w skrócie). ID samo dodaje, nazwa to np. "Kontakt", link musi być ?page=cośtam, treść dodaję za pomocą tinyMCE, widoczny tak/nie. Później pobieram w menu z MySQL ID, link i nazwę i w pętli to wyświetlam wg. ID i jeżeli widoczny == tak winksmiley.jpg to w skrócie.

edit.

AAA... a później w indexie odwołuję się
  1. if($_GET['page']) {
  2. $nazwa = $_GET['page'];
  3. $tresc = mysql_query("SELECT tresc FROM menu WHERE link='?page=$nazwa'");
  4. echo mysql_result($tresc,0,0);
  5. }


to mój sposób i nie wiem czy o to chodziło winksmiley.jpg

Ten post edytował Mefiuu 7.09.2010, 20:05:43
Go to the top of the page
+Quote Post
adrianozo
post 7.09.2010, 20:11:47
Post #3





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Mógłbym prosić o bardziej rozwinięte wypowiedzi bo mało z tego rozumiem


--------------------
Go to the top of the page
+Quote Post
Ramzaa
post 7.09.2010, 20:21:49
Post #4





Grupa: Zarejestrowani
Postów: 207
Pomógł: 17
Dołączył: 4.08.2009

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


ściągnij jakiś prosty cms z tą funkcją i sprawdź smile.gif
Go to the top of the page
+Quote Post
potreb
post 7.09.2010, 20:24:38
Post #5





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Chyba od pobrania szybsze będzie wyszukaj na forum, było mnóstwo razy poruszane.
Zresztą powyższą metodę nie stosuję, bo to nie sposób, choć na początek starczy.

Możesz zawsze zobaczyć jak to jest we frameworku.

Ten post edytował potreb 7.09.2010, 20:27:22


--------------------

Go to the top of the page
+Quote Post
adrianozo
post 7.09.2010, 20:51:59
Post #6





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Jaki np framework polecasz do zobaczenia tej funkcji?


--------------------
Go to the top of the page
+Quote Post
Pawel_W
post 7.09.2010, 20:54:13
Post #7





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


ja polecam zapoznanie się najpierw z bazami danych tongue.gif
Go to the top of the page
+Quote Post
bastard13
post 7.09.2010, 20:54:46
Post #8





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Jest jakaś funkcja ładująca, która pobiera wartość geta, odpowiednio waliduje, sprawdza czy plik o podanej nazwie istnieje i jeżeli tak, to wywołuje funkcje include.
Można użyć http://php.net/manual/en/function.spl-autoload-register.php aby dołączyć jakąś funkcję ładującą automatycznie.


--------------------
Go to the top of the page
+Quote Post
tehaha
post 7.09.2010, 21:07:50
Post #9





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


Cytat(bastard13 @ 7.09.2010, 21:54:46 ) *
Jest jakaś funkcja ładująca, która pobiera wartość geta, odpowiednio waliduje, sprawdza czy plik o podanej nazwie istnieje i jeżeli tak, to wywołuje funkcje include.
Można użyć http://php.net/manual/en/function.spl-autoload-register.php aby dołączyć jakąś funkcję ładującą automatycznie.

plik? przecież to ma być strona dynamiczna, więc treść jest generowana z danych z bazy.

Po co w ogóle tak to wszystko komplikować, sprawa jest bardzo prosta, przekazujesz sobie w każdym linku id treści czyli zrobisz sobie link np. domena.pl/strona/1/newsy.html, tytułu nie używasz do identyfikacja bo nie jest to coś unikalnego, używasz go tylko po to, żeby link był bardziej przyjazny dla użytkowników i bardziej informacyjny. treść do strony pobierasz odwołując się do rekordu numerem id.
Go to the top of the page
+Quote Post
adrianozo
post 19.09.2010, 20:10:29
Post #10





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Dzięki wielkie smile.gif

Chciałbym się dowiedzieć jak to jest zrobione, że nie dodaje do indexu ręcznie case include break oraz nie tworze nowego pliku w danym katalogu tylko wchodzę do panelu admina i dodaję nową zakładkę o nazwie xxx i odnośnik do niej jest index.php?page=xxx?


--------------------
Go to the top of the page
+Quote Post
Daiquiri
post 19.09.2010, 20:28:39
Post #11





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Powoduje to wywołanie zmiennej $_GET['page'] z zadanym parametrem. Głupawy przykład z pseudokodem: $_GET['page'] to numer ID newsa z bazy, który chcesz wyświetlić. W zapytaniu do bazy korzystasz z SELECT * FROM newsy WHERE id = $_GET['page'].
Go to the top of the page
+Quote Post
adrianozo
post 19.09.2010, 20:41:20
Post #12





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


No dobra, ale zapytanie gdzieś muszę wcisnąć


--------------------
Go to the top of the page
+Quote Post
Daiquiri
post 19.09.2010, 21:26:09
Post #13





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Masz np. plik index.php a w nim wyświetlanie zmiennej $news, gdzie $news to treść nowości pobrana z zapytania SELECT tresc FROM newsy WHERE id = $_GET['page']. Teraz wystarczy w index.php dać echo $news. W zależności od wybranego ID wyświetla Ci się inna nowość bez podpinania zewnętrznych plików.

Ten post edytował Daiquiri 19.09.2010, 21:26:39
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: 13.06.2025 - 10:15