Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyświetlanie wybranych elementów w zależności od URL
Forum PHP.pl > Forum > Przedszkole
piorulla145
Witam wszystkich
Chciałbym na swojej stronie umieścić następujące rozwiązanie - mianowicie aby pod adresem:
index.php - wyświetlały się wszystkie elementy na stronie
index.php?id=1 - wyświetlały się elementy oznaczone jako 1
index.php?id=2 - wyświetlały się elementy oznaczone jako 2

Kod mojej strony w uproszczeniu wygląda następująco:
  1. <div id="menu">MENU</div>
  2. <div id="zawartosc">
  3. <div>to ma być w index.php?id=1</div>
  4. <div>to ma być w index.php?id=2</div>
  5. <div>to ma być w index.php?id=1</div>
  6. </div>
  7. </body>


I chciałbym, aby pod adresem index.php?id=1 było następująco:

  1. <div id="menu">MENU</div>
  2. <div id="zawartosc">
  3. <div>to ma być w index.php?id=1</div>
  4. <div>to ma być w index.php?id=1</div>
  5. </div>
  6. </body>


Mam nadzieję, że zrozumieliście, o co mi chodzi. Takie rozwiązanie widziałem na niejednej stronie.
Doczytałem się, że należy użyć tablicy GET, ale mi nic to nie mówi. Kompletnie nie znam się na PHP. Z góry dziękuję za pomoc.

Pozdrawiam
sadistic_son
  1. <body>
  2. <div id="menu"><a href="index.php?strona=glowna">GLOWNA</a> <a href="index.php?strona=galeria">GALERIA</a> itd.</div>
  3. <div id="zawartosc">
  4. <?php
  5.  
  6. if(isset($_GET['strona'])){
  7.  
  8. echo '<div>Strona: '.$_GET['strona'];
  9.  
  10. switch($_GET['strona']){
  11. case 'glowna':
  12. include ("sciezka do pliku strony glownej");
  13. break;
  14.  
  15. case 'galeria':
  16. include ("sciezka do pliku galerii");
  17. break;
  18.  
  19. //i tak dalej a na koncu:
  20.  
  21. default:
  22. include ("sciezka do pliku strony glownej lub innej domyslnej");
  23.  
  24. }
  25. echo '</div>';
  26. }?>
  27. </div>
  28. </body>
Zwróc uwagę, że teraz to co wpiszesz po strona czyli index.php?strona=tutaj zostanie wyświetlone. Pamiętaj , że index musi mieć rozszerzenie php. Jesli pliki galeria.html , glowna.html (lub php - bez roznicy) beda w tym samym folderze co index.php to wystarczy ze w include podasz sciezszke wzgledna czyli np. include("glowna.html");

PS. Ty uzyles id=cos ja natomiast strona=cos. Bez roznicy.
piorulla145
dzięki, ale trochę nie o to mi chodziło. Chciałbym, aby to wszystko było w index. To ma być coś podobnego do kategorii.
Stef@n
  1. <?php if($_GET['id'] == '') { ?>
  2. Treść wszystkie
  3. <?php } if($_GET['id'] == 1) { ?>
  4. Treść z elementami 1
  5. <?php } if($_GET['id'] == 2) { ?>
  6. Treść z elementami 2
  7. <?php } ?>

Praktycznie to samo co napisał kolega Sadistic_son tylko trochę prościej.
sadistic_son
Cytat(piorulla145 @ 30.01.2011, 19:05:41 ) *
dzięki, ale trochę nie o to mi chodziło. Chciałbym, aby to wszystko było w index. To ma być coś podobnego do kategorii.

To nie rozumiem już. Na raz ma być wszystko? To po co w ogóle php i GET ?
piorulla145
Dzięki Stef@n winksmiley.jpg. Skorzystałem z twojego rozwiązania, tylko że użyłem np
  1. <?php } if($_GET['id'] == 2 || $_GET['id'] == '') { ?>

i udało się smile.gif
Jeszcze raz wielkie dzięki, sadistic_son również smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.