Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] szyk strony
Forum PHP.pl > Forum > Przedszkole
szykownyziomek
Witam, zaczynam robić 1 strone i tak troche jestem w kropcje jakby jakis uczynny człowiek sie znalazl i mi pomogl to bede wdzieeczny winksmiley.jpg
(pisze z tutkow)
A mianowicie, mam juz napisany kawalek kodu dziala to na klasie templatowej i mam napisane newsy,... na stronie głównej odpala się lista i po kliknięicu pojawia sie news

i teraz chciałbym do tego dorzucić artykuły... i zastanawiam się jak aby pojawiały się w miejsce newsów... żeby to w miarę spójne było...

i teraz nie wiem jak to zrobić czy w tym samym pliku skopiować i jakoś zamienić żeby pojawiał się tam gdzie jest {$main}

czy zrobić oddzielny plik artykuly.php i potem includowac w wybrane miejsce, ale pojawia sie problem ze nie wyswietla mi się zamiast newsow tylko nowa strona się otwiera...

Za jakieś porady naprowadzające na trop - bądź jakieś praktyczne - będe ogromnie wdzięczny.


  1. <?php
  2.  
  3. require_once "cTemplate.php";
  4. require_once "db_inteface.php";
  5.  
  6. $page = new cTemplate;
  7. $dbase = new db_interface("kpz", "root", "root", "localhost");
  8.  
  9. if(!isset($_GET['action']))
  10. {
  11. $_GET['action'] = "";
  12. }
  13.  
  14. switch ($_GET['action'])
  15. {
  16. case "pokaz":
  17. if (isset($_GET['id']))
  18. {
  19.  
  20. // WYSWIETLA NEWS'a
  21.  
  22. $result = $dbase->get_query("
  23. SELECT * FROM newsy
  24. where id = ".$_GET['id'].";
  25. ");
  26.  
  27. if ($result)
  28. {
  29. $news = new cTemplate;
  30.  
  31. $news->assign['tytul'] = $result[0]['tytul'];
  32. $news->assign['data'] = $result[0]['data'];
  33. $news->assign['tresc'] = $result[0]['tresc'];
  34.  
  35. $page->assign['main'] = $news->parse("templates/news.html");
  36.  
  37.  
  38.  
  39. }
  40. else $page->assign['main'] = "nie znaleziono news'a";
  41. }
  42. else $page->assign['main'] = "nie wybrano zadnego news'a";
  43.  
  44. break;
  45.  
  46. default:
  47.  
  48.  
  49. // WYSWIETLA WSZYSTKIE NEWS'y
  50.  
  51.  
  52. $result = $dbase->get_query("
  53. SELECT * FROM newsy
  54. ORDER BY id DESC
  55. LIMIT 0,6
  56.  
  57. ");
  58.  
  59. if ($result)
  60. {
  61. $news = new cTemplate;
  62.  
  63. $page->assign['main'] = "";
  64. foreach ($result as $record)
  65. {
  66. $news->assign['tytul'] = "<a href=\"?action=pokaz&id=".$record['id']."\">".$record['tytul']."</a>";
  67. $news->assign['data'] = $record['data'];
  68.  
  69.  
  70.  
  71. $page->assign['main'] .= $news->parse("templates/headnews.html");
  72.  
  73. }
  74. }
  75. else  $page->assign['main'] = "brak news'ow";
  76. break;
  77. }
  78.  
  79. echo $page->parse("templates/index.html");
  80.  
  81.  
  82. ?>
xbigos
ten kod już gdzieś widziałem:)
http://forumphp.nq.pl/index.php?showtopic=...mp;#entry463387


a odpowiedź na Twoje pytanie:
Ja bym zrobił w rekordzie gdzie zapisujesz treści.

Dodaj sobie kolejne pole np typu bool dla newsów zrób sobie 0 a dla artykułów zrób sobie np 1. jesli jeszcze jakoś inaczej zamierzasz posortowac teksty wtedy Tworzysz sobie jako INTEGER i odpowiednio sobie ustawiasz flagi. 0,1 itd.

A jeśli ni chcesz mieć taki rodzaj wyswietlania:

Newsy
--------
tytul newsa 1
tytul newsa 2
tytul newsa 3

artykuly
----
tytul art 1
tytul art 2
tytul art 3

To wtedy modyfikujesz tylko zapytanie ktore Ci ta liste pobiera
dodajesz w newsach WHERE typ=0 w artykulach WHERE typ=1
wyswietlasz to sobie w szablonie tak samo jak robiles do tej pory i wszystko gra:)

Troche za mało opisałeś sposób wyświetlania tresci wiec mogłem sie tylko domyślać o co Ci dokładnie chodzi.
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.