Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie na tabeli a obiektowość
gburus
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 15.06.2010

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


Witam,

Chciałbym napisać dla odświeżenia pamięci i nauczenia się OOP prostą aplikację. Mam następujący problem, w jaki sposób najszybciej i najłatwiej można _obiektowo_ pobierać i wyświetlać cale zestawy wyników zapytania. Np. w postaci tabeli HTML chcialbym przedstawić zawartość tabeli SQL, korzystając z obiektowego programowania. czy metoda typu:

foreach (n;n++) {
utwórz obiekt n-ty
wykonaj kod prezentacji
zniszcz obiekt
}

ma sens? wiem ze mozna to zrobic w postaci arraya, ale czy mozna arraya z obiektami łatwo mieszać?

Dziekuję z góry,
Greg.

Ten post edytował gburus 8.07.2010, 22:38:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gcdreak
post
Post #2





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

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


Cytat(gburus @ 11.07.2010, 00:34:13 ) *
Jak rozumiem klasa z takim interfejsem służy do manipulacji rekordami, ale pojedynczymi. W jaki sposob wykorzystać ją, by wykonać następującą czynność: pobrać wszystkie okreslone rekordy z bazy, i wyświetlić je w standardowej formie tabeli. Czy czysto obiektowo da sie to zrobić? Właśnie znalazłem taki kod na php.net:

  1. mysql_connect('localhost','uzytkownik','haslo');
  2. $result = mysql_query('select * from tabela');
  3. while ($row = mysql_fetch_object($result)) {
  4. echo $row->id_uzytkownika;
  5. echo $row->pelna_nazwa;
  6. }


Ta klasa służy do manipulowania obiektami utworzonymi na podstawie danych wyciągniętych z bazy. Jest to bardzo wygodne jeśli chciałbyś wykonywać dodatkowe operacje - jeśli chcesz to tylko wyświetlić to nie ma potrzeby się bawić w Collectiion.
Jeśli byś chciał coś zrobić to mogło by to wyglądać no tak:
  1. $objCol = new Collection();
  2.  
  3. $i = 1;
  4. while ($row = mysql_fetch_object($result)) {
  5. $objUser = new User($row);
  6. $objCol->addItem($objUser, 'User_'.$i);
  7. }
  8.  
  9.  
  10. // i teraz dodatkowe akcje
  11.  
  12. $objCol->getItem('User_143')->changePassword(...);
  13. //...
  14.  


Propozycja @darko również jest bardzo ciekawa - spjObjectStorage to taka wbudowana klasa Collection - możesz z niej skorzystać
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: 29.12.2025 - 11:13