Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Obsługa rezultatu zapytania w innej klasie
saturnim
post 4.02.2011, 10:22:39
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.02.2011

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


Witam wszystkich na forum!
Potrzebuje pomocy otóż mam taki problem. Napisałem klasę do wyświetlania wyników zapytania w postaci htmlowej tabeli. Klasa wyglada tak:
  1. class HtmlTable
  2. {
  3. protected $QueryResult;
  4.  
  5. public function _construct($QueryResult)
  6. {
  7. $this->QueryResult = $QueryResult;
  8. }
  9.  
  10. public function Render()
  11. {
  12. echo '<table cellspacing="0" border="1">'."\n";
  13.  
  14. for ($i=0; $i< mysql_num_rows($this->QueryResult);$i++)
  15. {
  16. $row = mysql_fetch_assoc($this->QueryResult);
  17. if($i==0)
  18. {
  19. echo "<tr>\n";
  20. foreach($row as $klucz => $wal)
  21. {
  22. echo "\t<td>$klucz</td>\n" ;
  23. }
  24. echo "</tr>\n";
  25. }
  26. echo "<tr>\n";
  27. foreach($row as $klucz => $wal)
  28. {
  29. echo "\t<td>$wal</td>\n";
  30. }
  31. echo "</tr>\n";
  32. }
  33. echo "</table>";
  34. }
  35. }

Gdy użyje jej w nastepujacy sposób :
  1. $result = mysql_query("select * from klient");
  2. $table = new HtmlTable($result);
  3. $table->Render();

to otrzymuje błąd dotyczący tej linii :
  1. mysql_num_rows($this->QueryResult)

o takim komunikacie :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ....
Gdy wrzuce ten kod bezposrednio czyli tak :
  1. $result = mysql_query("select * from klient");
  2. echo '<table cellspacing="0" border="1">'."\n";
  3.  
  4. for ($i=0; $i< mysql_num_rows($result);$i++)
  5. {
  6. $row = mysql_fetch_assoc($result);
  7. if($i==0)
  8. {
  9. echo "<tr>\n";
  10. foreach($row as $klucz => $wal)
  11. {
  12. echo "\t<td>$klucz</td>\n" ;
  13. }
  14. echo "</tr>\n";
  15. }
  16. echo "<tr>\n";
  17. foreach($row as $klucz => $wal)
  18. {
  19. echo "\t<td>$wal</td>\n";
  20. }
  21. echo "</tr>\n";
  22. }
  23. echo "</table>";
  24.  

Wszystko śmiga... $result podobno przechowuje tylko identyfikator wyniku zapytania , być moze z poziomu klasy nie mam już dostępu do faktycznych danych ? Prosił bym o szczegółowe wyjaśnienie ...
Go to the top of the page
+Quote Post
wookieb
post 4.02.2011, 10:35:43
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Bo... nie
_construct
tylko
__construct


--------------------
Go to the top of the page
+Quote Post
saturnim
post 4.02.2011, 10:43:16
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.02.2011

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


.... faktycznie.... dziękuje bardzo
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 22:19