Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Obsługa rezultatu zapytania w innej klasie
Forum PHP.pl > Forum > Przedszkole
saturnim
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 ...
wookieb
Bo... nie
_construct
tylko
__construct
saturnim
.... faktycznie.... dziękuje bardzo
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.