Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HOT] Potrzebne
Ether
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 21.03.2015

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


Witam,
Potrzebuję napisać klasę która zarządza newsami w bazie danych. Chcę zmienną private $conn do połączenia z bazą i z 3 metody insert update delete.
Tabela newsy = id, temat, news, created_at jako timestamp + wyjątki rzucane w przypadku niepowodzenia i łapanie w try catch.

Byłbym super wdzięczny gdyby ktoś poświęcił chwilkę na napisanie tego kodu.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mastersieciweb
post
Post #2





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 14.10.2013

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


na szybko, amatorsko
  1. class news
  2. {
  3. private $table_name = 'table_news';
  4. private $db;
  5. private static $dbHost = 'localhost';
  6. private static $dbDataBase = 'nazwa_bazy';
  7. private static $dbUser = 'login';
  8. private static $dbPassword = 'haslo';
  9.  
  10.  
  11. public function __construct()
  12. {
  13. try
  14. {
  15. echo '<h1>Dodaj swoje newsy</h1>';
  16. $this->view();
  17. }
  18. catch (Exception $e)
  19. {
  20. throw new Exception($e->getMessage(), $e->getCode());
  21. }
  22.  
  23. }
  24.  
  25. public function view()
  26. {
  27. echo '<div><form method="post" action="nazwa_tego_pliku.php">
  28. <p>Temat: <input type="text" name="topic"/></p>
  29. <p>News: <input type="text" name="news"/></p>
  30. <p><input type="submit" value="Dodaj"/></p>
  31. </form>
  32. </div><br />';
  33.  
  34. $sql = $this->connect_db();
  35. if(!$result = $sql->query("SELECT * FROM ".$this->table_name.""))
  36. {
  37. throw new exception ('Blad zapytania select do bazy');
  38. }
  39. else
  40. {
  41. echo '<table>';
  42. echo '<tr bgcolor=\"#CCCCFF\"><td>id</td><td>temat</td><td>nowosc</td><td>data</td></tr>';
  43. while ($row = $result->fetch_array())
  44. {
  45. echo '<tr>';
  46. echo '<td>'.$row['id'].'</td><td>'.$row['temat'].'</td><td>'.$row['news'].'</td><td>'.$row['data_dodania'].'</td>';
  47. echo '</tr>';
  48. }
  49. echo '</table>';
  50. }
  51. }
  52.  
  53.  
  54. public function connect_db()
  55. {
  56. try
  57. {
  58. $this->db = new mysqli($this->dbHost, $this->dbUser, $this->dbPassword, $this->dbDataBase);
  59. if(!$db)
  60. {
  61. throw new exception ('Blad laczenia z baza danych');
  62. }
  63. else
  64. {
  65. return $db;
  66. }
  67.  
  68. }
  69. catch (Exception $e)
  70. {
  71. throw new Exception($e->getMessage(), $e->getCode());
  72. }
  73.  
  74. }
  75. public function add_news()
  76. {
  77. try
  78. {
  79. $temat = $_POST['topic'];
  80. $news = $_POST['news'];
  81. $sql = $this->connect_db();
  82. if(!$result = $sql->query("INSERT INTO ".$this->table_name." ('id','temat','news','data_dodania') VALUES (null,'".$temat."','".$news."','".date('y-m-d h:m:i')."')"))
  83. {
  84. throw new exception ('Blad zapytania insert do bazy');
  85. }
  86.  
  87. }
  88. catch (Exception $e)
  89. {
  90. throw new Exception($e->getMessage(), $e->getCode());
  91. }
  92.  
  93. }
  94. public function update_news($new_temat, $new_news, $id)
  95. {
  96. try
  97. {
  98. $sql = $this->connect_db();
  99. if(!$result = $sql->query("UPDATE ".$this->table_name." SET ('temat' = '".$new_temat."', 'news' = '".$new_news."') WHERE id = '".$id."' "))
  100. {
  101. throw new exception ('Blad zapytania update do bazy');
  102. }
  103. }
  104. catch (Exception $e)
  105. {
  106. throw new Exception($e->getMessage(), $e->getCode());
  107. }
  108.  
  109. }
  110. public function delete_news($id)
  111. {
  112. try
  113. {
  114. $sql = $this->connect_db();
  115. if(!$result = $sql->query("DELETE FROM ".$this->table_name." WHERE id = '".$id."' "))
  116. {
  117. throw new exception ('Blad usuwania newsow');
  118. }
  119. }
  120. catch (Exception $e)
  121. {
  122. throw new Exception($e->getMessage(), $e->getCode());
  123. }
  124.  
  125. }
  126. }
  127.  


Ten post edytował Mastersieciweb 24.03.2015, 22:26:08
Go to the top of the page
+Quote Post

Posty w temacie
- Ether   [HOT] Potrzebne   23.03.2015, 14:35:29
- - Pyton_000   Dział Giełda   23.03.2015, 14:38:04
- - Kshyhoo   Witamy na Forum. Zapoznaj się z pierwszą linijką m...   23.03.2015, 14:38:22
- - ohm   Jesteś w trakcie zaliczenia?   23.03.2015, 14:38:25
- - Ether   Tak :/   23.03.2015, 14:43:30
- - Kshyhoo   No to albo wykażesz chęci, albo zamykam wątek Ew....   23.03.2015, 14:46:10
- - Ether   [PHP] pobierz, plaintext <?php  class Edit...   23.03.2015, 14:52:59
|- - b4rt3kk   Cytat(Ether @ 23.03.2015, 14:52:59 ) ...   23.03.2015, 14:56:50
- - Pyton_000   A co robiłeś przez cały semestr?   23.03.2015, 14:54:00
- - Ether   Byłem uczestnikiem w testowaniu hardware..   23.03.2015, 14:55:17
- - Ether   No dużo nie wniosłeś, Bartek. Może jakiś link do d...   23.03.2015, 15:00:03
- - Raito   http://pl.wikibooks.org/wiki/PHP/Klasy_i_obiekty h...   23.03.2015, 15:01:56
- - Forti   Za 300zł Ci to napisze   23.03.2015, 15:08:18
|- - Kshyhoo   Cytat(Forti @ 23.03.2015, 15:08:18 ) ...   23.03.2015, 15:10:50
|- - Forti   Cytat(Kshyhoo @ 23.03.2015, 15:10:50 ...   23.03.2015, 15:20:06
- - Ether   Wolę dostać cenne wskazówki, niż liczyć na gotowca...   23.03.2015, 15:11:23
- - Ether   [PHP] pobierz, plaintext <?php  class News...   23.03.2015, 15:27:11
- - b4rt3kk   Zacznij od wywalenia PDO, bo nie korzystasz z nieg...   24.03.2015, 13:14:51
- - com   @up to jak już mysqli_query 7 za pasem i mysql_* ...   24.03.2015, 13:17:18
|- - b4rt3kk   Cytat(com @ 24.03.2015, 13:17:18 ) @u...   24.03.2015, 13:27:39
- - com   tak ale od kilku lat też oznaczone jako deprecated...   24.03.2015, 17:46:34
- - johny_s   Tyle że na hostingach pojawi się dopiero za parę l...   24.03.2015, 18:01:55
- - com   owszem ale nauka tego w 2015 mija sie z celem, to ...   24.03.2015, 18:06:50
- - Forti   Chcesz programować to nie używasz hostingu za 10zl...   24.03.2015, 18:13:51
- - com   forti gdzie masz vps za 7   24.03.2015, 18:14:49
|- - Forti   Cytat(com @ 24.03.2015, 18:14:49 ) fo...   24.03.2015, 18:30:44
- - Pyton_000   np tu: http://panel.dedyki.net/client/openvz/order...   24.03.2015, 18:18:28
|- - !*!   Cytat(Pyton_000 @ 24.03.2015, 18:18:2...   24.03.2015, 18:29:24
- - johny_s   A czy ja gdziekolwiek polecam używanie mysql_* ?   24.03.2015, 18:30:50
|- - Forti   Cytat(johny_s @ 24.03.2015, 18:30:50 ...   24.03.2015, 19:08:35
|- - b4rt3kk   Cytat(Forti @ 24.03.2015, 19:08:35 ) ...   25.03.2015, 00:04:15
|- - Forti   Cytat(b4rt3kk @ 25.03.2015, 00:04:15 ...   25.03.2015, 07:09:46
- - com   to za 8 Python, Forti dzięki !*! nwm gdz...   24.03.2015, 18:48:56
|- - !*!   Cytat(com @ 24.03.2015, 18:48:56 ) to...   24.03.2015, 18:52:33
- - Mastersieciweb   na szybko, amatorsko [PHP] pobierz, plaintext clas...   24.03.2015, 21:49:55
- - com   dobrze, owszem jest to bez sensu ale tak jak wspom...   25.03.2015, 00:45:28
- - b4rt3kk   Że też najprostsze rzeczy trzeba tłumaczyć... Od p...   25.03.2015, 08:38:06
- - Ether   Dzięki za konkretny przykład.   25.03.2015, 18:44:42


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: 17.10.2025 - 10:48