Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tworzenie wielu obiektów, przez static albo inaczej?
-Gość-
post
Post #1





Goście







Witam, mam nurtujące mnie pytanie na które nie mogę znaleźć odpowiedzi. Chcę napisać klasę, która z bazy odczytuje załóżmy wszystkie artykuły na dany temat. Łącze się z bazą przez pdo i teraz.. jak odczytać z tej bazy wszystkie artykuły? Czy przez metodę statyczną z tej klasy? Jak wtedy przekazać do niej pdo? Czy za pomocą pętli ale wtedy to takie strukturalne obejście...?

  1. class Art {
  2. protected $db;
  3.  
  4. public function __construct($db) {
  5. $this->db=$db;
  6. echo 'test1';
  7. }
  8.  
  9. public static function pobierz() {
  10. // jak tu dodac obiekt bazy?
  11. echo 'test2';
  12. }
  13. }
  14.  
  15. $db = new PDO('mysql:dbname=art;host=127.0.0.1', 'root', 'admin');
  16.  
  17. User::pobierz();
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-Gość-
post
Post #2





Goście







b4rt3kk - i w tym momencie mam 1 obiekt Art i w nim odczytaną tablicę z bazy, jak z tego zrobić wiele obiektów typu Art? Czy może ja źle rozumuje? Nie kazdy artykuł powinien byc osobnym obiektem?
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(Gość @ 28.10.2013, 15:51:12 ) *
b4rt3kk - i w tym momencie mam 1 obiekt Art i w nim odczytaną tablicę z bazy, jak z tego zrobić wiele obiektów typu Art? Czy może ja źle rozumuje? Nie kazdy artykuł powinien byc osobnym obiektem?


To zależy co chcesz dalej zrobić z tymi wynikami z bazy. Ale oczywiście możesz zwrócić objekt.

  1. function pobierz() {
  2. $stmt = $this->dbHandle->query("SELECT * FROM tabela");
  3. $obj = array();
  4. while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  5. $obj[] = new stdClass;
  6. foreach ($row as $key => $item) {
  7. end($obj);
  8. $obj[key($obj)]->$key = $item;
  9. }
  10. }
  11. return $obj;
  12. }


Ten post edytował b4rt3kk 28.10.2013, 16:05:50
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: 13.10.2025 - 08:37