Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Dostep do zmiennej zwroconej przez funkcje
Forum PHP.pl > Forum > Przedszkole
Wolfie
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 ?
potreb
Popatrz się w kod # function find. Czy ta funkcja zwraca ci cośquestionmark.gif
Wolfie
No nie, funkcja find nic nie zwraca,...... a do czego zmierzasz ?

Pewnie mam braki w wiedzy, ale nie wiem jakie smile.gif

Naprowadz mnie bo to bardzo wazne dla mnie zeby to jak najszybciej rozwiazac graduated.gif
Fifi209
Że operujesz na tym co zwróci find jak na obiekcie. A ona w ogóle nic nie zwraca.
Wolfie
Nie zwraca , ale za to funkcja query() zwraca, nie wiem jak dostac sie do query() przeskakujac find().......
Fifi209
W find zapisz do jakiejś zmiennej wynik query i potem return...
erix
Podstawy programowania, bez jaj, tu już logiczne myślenie wychodzi.

Zapraszam do kursów.
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.