Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Dostep do zmiennej zwroconej przez funkcje
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam

Mam taka funkcje w klasie Filtr

  1. function getProbability() {
  2. $table = $this->tokenizeFile();
  3. foreach($table as $value) {
  4. $tab = new TokenTable(new MysqlDatabase('localhost','root', 'wmateusz', 'spam'));
  5. $gettoken = $tab->find($value);
  6. }
  7. }


Funkcja ta wywoluje funkcje find() z klasy ActiveRecor

  1. function find($token) {
  2. if(!$this->db->query("SELECT * FROM $this->tableName WHERE token='$token'")){
  3. throw new Exception('Error finding row');
  4. }
  5. }


Ta z kolei wywoluje funcke query() z klasy Database ktora wyglada tak:

  1. public function query($sql) {
  2. $resultSet = mysql_query($sql, $this->connection);
  3. $result = array();
  4. while($r = mysql_fetch_assoc($resultSet)) {
  5. $result[] = $r;
  6. }
  7. return $result;
  8. }


W efekcie ostatnia funkcja zwraca mi tablice z w ktorej rekordy sa kolejnymi jej elementami, z koleii pola sa elementami tych elementow smile.gif
Czyli tablica wielowymiarowa z tego co sie orientuje, no ale to akurat nie jest tak wazne.

Chodzi o to ze teraz musze napisac kolejna funkcje ktora bedzie korzystala z tej tablicy ale nie wiem jak sie do tej tablicy w takim wypadku dobrac......bo przeciez po co mialbym wywolywac kolejny raz funkcje query() skoro juz ta tablica jest tak naprawde zwrocona....

Dodam jeszcze ze ta funkcja ktora chce napisac ktora bedzie korzystac z tablicy zwroconej przez funkcje query() z klasy Database bedzie znajdowac sie w klasie Filtr.....

Czy ktos moze pomoc w tej kwestii ?

-----------------------------------------------

Kompbinowalem i wykombinowalem cos takiego :

  1. function getProbability() {
  2. $table = $this->tokenizeFile();
  3. foreach($table as $value) {
  4. $tab = new TokenTable(new MysqlDatabase('localhost','root', 'wmateusz', 'spam'));
  5. //$gettoken = $tab->find($value);
  6. print_r($tab->db->find($value)->result);
  7. }
  8. }


No ale wyskakuje komunikat :

Cytat
Fatal error: Call to undefined method MysqlDatabase::find() in C:\Apache\htdocs\PrackaMgr\class.Filter.php on line 52


probowalem tez dostac sie w ten sposob do zmiennej $result :

  1. print_r($tab->find($value)->db->result);


Ale tez error :

Cytat
Notice: Trying to get property of non-object in C:\Apache\htdocs\PrackaMgr\class.Filter.php on line 52


Any ideas ?

Ten post edytował Wolfie 18.08.2009, 16:27:10
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 17:47