Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyświetlanie newsów
Forum PHP.pl > Forum > PHP
Seraph
Mój kod wyświetlający główną część strony głównej:

  1. <?php
  2. // wyswietla liste programow w wybranej kategorii
  3. if (isset($_GET['kat'])) {
  4. $kat = $_GET['kat'];
  5. $name= $_GET['name'];
  6. echo $name . '<br/>';
  7. WyswietlListeProgramow($kat);
  8. }
  9.  
  10. //wyswietla konkretny artykul
  11. if (isset($_GET['art])) {
  12. $art_id = $_GET['art];
  13. PokazART($art_id);
  14. }
  15.  
  16. // wyszukuje art po tytule
  17. if (isset($_POST['searchtext'])) {
  18. $searchtext = $_POST['searchtext'];
  19. Search($searchtext);
  20. }
  21.  
  22. //wyswietla newsy
  23. shownews(1);
  24. ?>


mam problem z tym wyświetlaniem newsów, bo kiedy jest tak zapisane to pojawiają się na wszystkich stronach; próbowałem z else, ale nie działa - wydaje mi się, że wtedy robi else tylko do tego ostatniego.

Co mogę zrobić?
Master Miko
Sugerowałbym Ci użycie Switch
http://php.net.pl/manual/pl/control-structures.switch.php

Do tego byś jeszcze dał coś takiego jak action:

index.php?action=search&searchtext=tekst
index.php?action=showart&art=5
index.php?action=showkat&kat=3
index.php?action=news

Poza tym masz błąd:

NIE:
  1. <?php
  2.  if(isset($_GET['art])) {$art_id = $_GET['art];PokazART($art_id);}
  3. ?>

TYLKO:
  1. <?php
  2. if(isset($_GET['art'])) {$art_id = $_GET['art'];PokazART($art_id);}
  3. ?>


A z podanym wyżej przykładem możesz zrobić tak:

  1. <?php
  2. switch($_GET['action']) {
  3. case 'showkat': 
  4.  
  5. if (isset($_GET['kat'])) {
  6. $kat = $_GET['kat'];
  7. $name= $_GET['name'];
  8. echo $name . '<br/>';
  9. WyswietlListeProgramow($kat);
  10. } else {shownews(1); }
  11. break;
  12.  
  13. case 'showart':
  14. if (isset($_GET['art])) {
  15. $art_id = $_GET['art];
  16. PokazART($art_id);
  17. } else {shownews(1); }
  18.  break;
  19. case 'news': 
  20. shownews(1); 
  21. break; 
  22. case 'search': 
  23. if (isset($_POST['searchtext'])) {
  24. $searchtext = $_POST['searchtext'];
  25. Search($searchtext);
  26. } else {shownews(1); }
  27. break;
  28. default: shownews(1); break; // tutaj jak nie ma nic podane (np dam news)
  29. }
  30. ?>
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.