Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zawartość case do zmiennej ?!
php11
post
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

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


Witam serdecznie smile.gif

Dzięki Wam tworzę "własny cms".

  1. switch ($_GET['page']) {
  2. case 'start':
  3. $id = '1';
  4. $title = 'title dla przegladarki';
  5. $opis = 'meta - opis';
  6. $slowa = 'meta - słowa';
  7. $h1 = 'tytuł artykułu';
  8. $tresc = 'nazwa pliku z zawartością artykułu';
  9. $modulTytul = '';
  10. $modulTresc = '';
  11. break;
  12. }


Tak, jak powyzej generuję sobie strony.
Wszystko działa pięknie, tyle, że menu muszę wpisywać ręcznie.
Mogę do kazdego case dopisać zmienne z linkami, ale nie wiem, jak je wyciągnąć i automatycznie zbudować menu.

Z góry dziękuję za pomoc smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


W cmsie powinieneś skorzystać z routingu, a nie pchać wszystko do switcha. Zobacz wątek.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
php11
post
Post #3





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

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


Darko, bardzo dziekuję za odpowiedź.

Mój cms napisałem w cudzysłowie wink.gif To 10 - 15 podstron.
Tyle, że wkurza mnie ręczne robienie menu.

Przeczytałem tamten wątek i... za bardzo nie kumam smile.gif

Jeżeli jest sposób na wyciąganie zmiennej z case to mnie to zadowoli.

Dzięki smile.gif


p.s. Teraz pomyslałem, że linki powienienem mieć oddzielnie, w innym case. Tylko jak to mam zrobić?

Ten post edytował php11 26.08.2012, 08:52:56
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Nawet najprostszy router jest dokładnie tym, czego szukasz, zerknij na przykład. Ostatecznie zamiast pisania routera trzymaj dane do wyświetlenia dowolnej strony w bazie.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
php11
post
Post #5





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

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


Jeszcze raz bardzo dziekuję smile.gif

Pewnie ja tego nie rozumiem, więc jeszcze raz:
Pragnę zrobić tak, że za pomocą pętli wyświetlę menu. Informacje potrzebne do zbudowania linka trzymam w case dla każdej "podstrony".

Kurde, sorry za lamerstwo.
Proste linki robię w .htaccess.

Ten post edytował php11 26.08.2012, 11:49:39
Go to the top of the page
+Quote Post
darko
post
Post #6





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Jak Ci się rozrośnie cmsik, to te informacje, które trzymasz w case dla każdej podstrony najlepiej będzie przenieść do bazy danych i po stronie backendu umożliwić ich edycję jakimś prostym formularzem. Oszczędzi Ci to pisania wielu instrukcji case na każdej podstronie, poza tym cmsy oparte o pliki są mniej skalowalne niż te, oparte o bazę danych.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
php11
post
Post #7





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

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


Wreszcie zrozumiałem, co napisałeś smile.gif

Tak, znam trochę cms-y i wiem, jak działają. Szczególnie jeden.

Nie robię nic wielkiego i nigdy nic wielkiego z tego nie będzie.
Po prostu, zamiast tworzyć listę z pozycjami menu, chciałbym wyręczyć się automatem - php, a nie wiem, jak smile.gif
Go to the top of the page
+Quote Post
darko
post
Post #8





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


W takim razie raz tworzysz tablicę na podstawie tego, co masz w case'ach, serializujesz ją do pliku. Przy każdym żądaniu na początku wczytujesz i deserializujesz tablicę, nastęnie sprawdzasz czy
występuje w niej klucz section i jeżeli występuje, to masz już wszystkie dane do wyciągnięcia pod tym kluczem. Rozwiązanie lekkie i dla mikrorozwiązań w miarę wydajne. Przykładowa tablica:


  1. array('start' => array('id' => '1',
  2. 'title' => 'title dla przegladarki',
  3. 'opis' => 'meta - opis',
  4. 'slowa' => 'meta - słowa'),
  5. 'kontakt' => array('id' => '2',
  6. 'title' => 'title dla przegladarki2',
  7. 'opis' => 'meta - opis2',
  8. 'slowa' => 'meta - słowa2')
  9. // itd.
  10. );


Ten post edytował darko 26.08.2012, 12:39:30


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
php11
post
Post #9





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

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


"deserializujesz" cza aby na pewno mnie nie obrażasz?! wink.gif

Dzięki wielkie, sprawdzę Twoje rozwiązanie (jak mi sie uda) i dam znać.

Spokojnej niedzieli...
Go to the top of the page
+Quote Post
darko
post
Post #10





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


serializowanie i deserializowanie danych w php (przykład)


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
php11
post
Post #11





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

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


Dzięki raz jeszcze.
Walczę z odczytaniem tych tablic sad.gif
Go to the top of the page
+Quote Post
darko
post
Post #12





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


http://www.php.net/manual/en/function.unserialize.php
Pokaż, jak walczysz.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
php11
post
Post #13





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

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


Wcale nie jestem pewien, czy chcesz to ogladać...
  1. $menuTablica = array ('aaaaa' => array(
  2. 'menuId' => '01',
  3. 'menuTitle' => 'title aaaaa',
  4. 'menuLink' => 'link aaaaa'),
  5. 'bbbbb' => array(
  6. 'menuId' => '02',
  7. 'menuTitle' => 'title bbbbb',
  8. 'menuLink' => 'link bbbbb'),
  9. );
  10.  
  11. echo '<hr />';
  12. print_r($menuTablica);
  13. echo '<hr />';
  14. print_r($menuTablica[aaaaa]);
  15. echo '<hr />';
  16. print_r($menuTablica[bbbbb]);
  17.  


Zupełnie nie wiem, jak wyłuskać poszczególne wartości...

Ten post edytował php11 26.08.2012, 21:04:02
Go to the top of the page
+Quote Post
darko
post
Post #14





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


a gdzie serialize / unserialize i zapis do pliku?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
php11
post
Post #15





Grupa: Zarejestrowani
Postów: 215
Pomógł: 5
Dołączył: 11.02.2011

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


Dzieki, za Twoją cierpliwość smile.gif

Eee... Do tego jeszcze nie doszedłem.

p.s. To mnie raczej przerasta, ale dzieki za poświęcony czas.
Pozostanę przy ręcznym menu smile.gif

Ten post edytował php11 26.08.2012, 21:56:20
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 Aktualny czas: 20.08.2025 - 23:45