Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obsługa artykułów - pierwsza klasa
barii
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 16.02.2008

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


Ostatnio zacząłem czytam o programowaniu obiektowym trochę w necie. Napisałem sobie pierwszą klasę, która ma być odpowiedzialna za obsługę artykułów (tworzenie newsów, kategorii, administrację).

  1. <?
  2. class Articles{
  3. var $id; //nr artukułu
  4.  
  5.  
  6. function remove_news($id){
  7. $sql = "DELETE FROM rada_news WHERE id = $id";
  8. $result = mysql_query($sql);
  9. echo '<p id="succes">Usunięto aktualość o id='.$id.'</p>';
  10. }
  11.  
  12. function add_news($tytul,$img,$kategoria,$tekst){
  13. $data=Date("Y-m-d");
  14. $sql = "insert into rada_news ( tytul, img, kategoria, tekst, data, akcept ) values ( '$tytul','$img', '$kategoria', '$tekst', '$data', '0');";
  15. $result = mysql_query($sql);
  16. echo '<p id="succes"><b>Dodano aktualość '.$tytul.'</b></p>';
  17. }
  18.  
  19. function change_st($id,$stan){
  20. $sql = "UPDATE rada_news SET akcept='$stan' WHERE id=$id";
  21. $result = mysql_query($sql);
  22. if($stan==1) $statut='aktywnty';
  23. if($stan==0) $statut='niaktywnty';
  24. echo '<p id="succes">Zmieniono status wiadomości o id='.$id.' na <b>'.$statut.'</b></p>';
  25. }
  26.  
  27. function edit($id,$tytul,$img,$kategoria,$tekst){
  28. $sql = "UPDATE rada_news SET tytul='$tytul', img='$img', tekst='$tekst', kategoria='$kategoria' WHERE id=$id";
  29. $result = mysql_query($sql);
  30. echo '<p id="succes">Zapisano poprawnie aktualość: <b>'.$tytul.'</b></p>';
  31. }
  32.  
  33. function pobierz_dane($opcja,$id){
  34. $sql = "SELECT $opcja as pole FROM `rada_news` WHERE id='$id'";
  35. //echo $sql.'<br>';
  36. $res = mysql_query($sql);
  37. $row = mysql_fetch_array($res);
  38. return $row['pole'];
  39. }
  40.  
  41. function show_news($id){
  42. $sql = "SELECT * FROM rada_news WHERE akcept=1 AND id=$id";
  43. $result = mysql_query($sql);
  44. $ile = mysql_num_rows($result);
  45. $row = mysql_fetch_array($result);
  46. //echo $ile;
  47. if($ile==0){
  48. echo '<p id="error">Brak aktualości w bazie</p>';
  49. }
  50. elseif($ile>1){
  51. echo '<p id="error">Błąd w bazie. Gdy błąd będzie się powtarzał skontaktuj się z administratorem</p>';
  52. }
  53. else{
  54. $tytul=$this->pobierz_dane('tytul',$id);
  55. $tekst=$this->pobierz_dane('tekst',$id);
  56. $data=$this->pobierz_dane('data',$id);
  57. $img=$this->pobierz_dane('img',$id);
  58. echo'<div id="main_text" style=";margin-top:10px;background-color: white; padding:0px 0px;">';
  59. echo'<div style="border-bottom:1px solid #6600ff; padding:5px 5px;background:#f4f9fb"><b>'.$tytul.'</b>';
  60. echo'<div style="font-size:10px; color:silver">Dodano '.$data.'</div></div>';
  61. echo'<P style="margin:0px;padding:8px 5px">';
  62. if($img) echo '<img src="'.$img.'" align="left" style="margin-right:5px">';
  63. echo $tekst.'</p>';
  64. echo '</div>';
  65. }
  66. }
  67.  
  68. function skroc($tekst,$ile)
  69. {
  70. $znaki = strlen($tekst);
  71. if ($znaki>=$ile)
  72. {
  73. $tnij = substr($tekst,0,strpos($tekst, ".", $ile));
  74. $skrocone = $tnij.".";
  75. }
  76. else
  77. {
  78. $skrocone = $tekst;
  79. }
  80. return $skrocone;
  81. }
  82.  
  83. function html2txt($document){
  84. $search = array('@<[\/\!]*?[^<>]*?'.'>@si'
  85. );
  86. $text = preg_replace($search, '', $document);
  87.  
  88. return $text;
  89. }
  90.  
  91. function show_news_zaj($id){
  92. $sql = "SELECT * FROM rada_news WHERE akcept=1 AND id=$id";
  93. $result = mysql_query($sql);
  94. $ile = mysql_num_rows($result);
  95. $row = mysql_fetch_array($result);
  96. //echo $ile;
  97. if($ile==0){
  98. echo '<p id="error">Brak aktualości w bazie</p>';
  99. }
  100. elseif($ile>1){
  101. echo '<p id="error">Błąd w bazie. Gdy błąd będzie się powtarzał skontaktuj się z administratorem</p>';
  102. }
  103. else{
  104. $tytul=$this->pobierz_dane('tytul',$id);
  105. $tekst=$this->pobierz_dane('tekst',$id);
  106. $data=$this->pobierz_dane('data',$id);
  107. $img=$this->pobierz_dane('img',$id);
  108. echo'<table><tr><td><div id="main_text" style=";margin-top:10px;background-color: white; padding:0px 0px;">';
  109. echo'<div style="border-bottom:1px solid #3b8cdd; padding:5px 5px;background:#f4f9fb"><b><a href="'.WWW.'aktualnosc/'.$row['id'].',_">'.$tytul.'</a></b>';
  110. echo'<div style="font-size:10px; color:silver">Dodano '.$data.'</div></div>';
  111. echo'<P style="margin:0px;padding:8px 5px">';
  112. if($img) echo '<img src="'.$img.'" align="left" style="margin-right:5px">';
  113. $tekst = $this->html2txt($tekst);
  114. $tekst = $this->skroc($tekst,400);
  115. echo $tekst.'</p>';
  116. echo '</div></td></tr></table>';
  117. }
  118. }
  119.  
  120. }
  121. ?>
  122.  


Czy sądzicie że dobrze zaczynam? Czy to jest programowanie obiektowe, czy tylko pseudo-obiektowe? Co muszę poprawić, na co zwrócić uwagę(IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
o nie jest prawda... Prawdziwsze jest stwierdzenie:

Jeżeli wykonywanie jakiejś metody może zakończyć się błędem, przy czym jest to błąd, nad którym programista piszący dany kod nie ma kontroli (np. kod korzysta z zasobów zewnętrznych, które mogą być niedostępne) to należy wyrzucić wyjątek (obsłużony w innym miejscu programu).

Panie Crozin, warto chyba ubrać to co się chce powiedzieć w parę zdań tak aby to miało ręce i nogi, a nie rzucać sentencje w tylu "Jak się jest głodnym to trzeba zjeść"...
Tak na dobrą sprawę to to co napisałeś jest dokładnie tym samym co podałem ja.

A sentencja "głodny -> zjedz coś" jest przecież jak najbardziej poprawna. Nie ma sensu się rozpisywać co to znaczy być głodnym, ani co to znaczy zjeść coś. Jak odbiorca nie będzie czegoś pewny to sobie wygooglea albo poprosi o doprecyzowanie odpowiedzi.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 08:40