Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]System newsow - problem
Forum PHP.pl > Forum > Przedszkole
Andrzej.F
Witam, dopiero zaczynam przygode z php więc z góry proszę o litosc(?) smile.gif

Mam taki problem, "pisze" system newsów w oparciu o tutka odrazu go modyfikując do swoich potrzeb. Więc pewnie w moich modyfikacjach jest błąd.

System newsów pisany w oparciu o klase templatowa cos na wzor smartow...

O co mi chodzi?
A no o to żeby pobierał rekordy z bazy - wszystko gra
Pokazywał wszystkie newsy - wszystko gra
Po kliknięciu na tytuł pokazywał news w który się klikneło - tu nie gra... Po wywołaniu akcji poprzez kliknięcie na klikacz nic się nie dzieje...


Podaje źródła:

  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. // WYSWIETLA NEWS'a
  20. $result = $dbase->get_query("
  21. SELECT * FROM newsy
  22. where id = ".$_GET['id'].";
  23. ");
  24.  
  25. if ($result)
  26. {
  27. $news = new cTemplate;
  28.  
  29. $news->assign['tytul'] = $result[0]['tytul'];
  30. $news->assign['data'] = $result[0]['data'];
  31. $news->assign['tresc'] = $result[0]['tresc'];
  32.  
  33. $page->assign['main'] = $news->parse("templates/news.html");
  34.  
  35.  
  36.  
  37. }
  38. else $page->assign['main'] = "nie znaleziono news'a";
  39. }
  40. else $page->assign['main'] = "nie wybrano zadnego news'a";
  41.  
  42. break;
  43.  
  44. default:
  45.  
  46.  
  47.  
  48. // WYSWIETLA WSZYSTKIE NEWS'y
  49. $result = $dbase->get_query("
  50. SELECT * FROM newsy
  51. ORDER BY data DESC
  52. ");
  53.  
  54. if ($result)
  55. {
  56. $news = new cTemplate;
  57.  
  58. $page->assign['main'] = "";
  59. foreach ($result as $record)
  60. {
  61. $news->assign['tytul'] = "<a href=\"?pokaz=news&id=".$record['id']."\">".$record['tytul']."</a>";
  62. $news->assign['data'] = $record['data'];
  63. $news->assign['tresc'] = $record['tresc'];
  64.  
  65.  
  66.  
  67. $page->assign['main'] .= $news->parse("templates/news.html");
  68.  
  69. }
  70. }
  71. else  $page->assign['main'] = "brak news'ow";
  72. break;
  73. }
  74.  
  75. echo $page->parse("templates/index.html");
  76.  
  77.  
  78. ?>




podaje ta klase jakby była potrzebna:
  1. <?php
  2. class cTemplate
  3. {
  4. var $assign; 
  5. var $parsed;
  6.  
  7. function parse ($_file_name)
  8. {
  9. if (!file_exists($_file_name))
  10. {
  11. echo "Nie znaleziono pliku: ".$_file_name;
  12. return 0;
  13. }
  14.  
  15. $this->parsed = file_get_contents($_file_name, 500000);
  16.  
  17. $i = 0;
  18. if (isset($this->assign))
  19. {
  20. foreach ($this->assign as $key => $value)
  21. {
  22. $source[$i] = "{$".$key."}";
  23. $destination[$i] = $value;
  24. $i++;
  25. }
  26. }
  27.  
  28. if (!isset($source)) return $this->parsed; 
  29.  
  30. return $this->parsed = str_replace($source, $destination, $this->parsed);
  31. }
  32. }
  33.  
  34. ?>



Z góry dziękuje smile.gif pozdrawiam
xbigos
  1. <?php
  2. $news->assign['tytul'] = "<a href=\"?pokaz=news&id=".$record['id']."\">".$record['tytul']."</a>";
  3. ?>


wedlug mnie powinienes ta linijke zamienic na
  1. <?php
  2. $news->assign['tytul'] = "<a href=\"?action=pokaz&id=".$record['id']."\">".$record['tytul']."</a>";
  3. ?>
Andrzej.FF
Kocham Cie ;*
Jeszcze_jedno_pytanie
A jak np. zrobić teraz zeby pokazywało tylko 6 najnowszych newsow?
Jeszcze_jedno_pytanie2
juz sobie poradziłem
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.