Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mysql_$metoda($r)....
Forum PHP.pl > Forum > Przedszkole
baraqda
Otóż se wymysliłem taką fajną klase, tylko nei wiem jak mam zrobic takie coś: mam zmienną $metoda która ma wartosc np: "fetch_row" "fetch_array". I teraz jak mam wywołać mysql_$metoda($r). Probowałem pare sposobów, ale kazdy albo wyswietla błąd albo wypisuje na ekranie zamiast sie wykonywac. Mam nadzieje że to jest wogóle możliwe, bo nie chciałbym pisac 50 warunków do kazdego rodzaju mysql_xxx.
Paul
  1. <?php
  2. $metoda = 'info';
  3. eval('php'. $metoda .'();');
  4. ?>
baraqda
Taaaa php info() działa, problem w tym że nie działa mi to:

  1. <?php
  2.  
  3. function select(){
  4.  
  5. $metoda = &#092;"fetch_row\";
  6.  
  7. $q = &#092;"SELECT wyniki,id FROM ankiety ORDER BY id DESC LIMIT 0,1\";
  8. $r = @mysql_query($q) or die (&#092;"Przykro nam, ale nie można pobrać wyników. Proszę spróbować ponownie.\");
  9.  
  10.  
  11. eval('mysql_'.$metoda.'($r);');
  12.  
  13. $this->hehe = ob_get_clean();
  14.  
  15. }
  16. ?>
Paul
W jakim sensice ci nie dziala? Zrob moze tak to zobaczysz czy cos to zwraca...

  1. <?php
  2. eval('var_dump(mysql_'.$metoda.'($r));');
  3. ?>


PS. Mi dziala cool.gif
baraqda
Ehh pojeb*** var_dump wyswietla ze wszystko działa,kasuje i zmienna jest pusta blink.gif
Paul
Dziwne...

Wydaje mi sie, ze musisz to przypisac do jakiejs zmiennej, czyli
  1. <?php
  2. eval('$zmienna = (mysql_'.$metoda.'($r));');
  3. echo $zmienna;
  4. ?>
baraqda
Ehh funkcja wygląda tak:

  1. <?php
  2.  
  3. function select($co, $from, $where, $metoda){
  4.  
  5.  
  6. $q = &#092;"SELECT $co FROM $from $where\";
  7. $r = @mysql_query($q) or die (&#092;"Przykro nam, ale nie można pobrać wyników. Proszę spróbować ponownie.\");
  8.  
  9. eval('$eval = mysql_'.$metoda.'($r);');
  10.  
  11. $this->result = $eval;
  12.  
  13. }
  14.  
  15. ?>

I wszystko działa pieknie swietnie, tylko nie wiem co z pętlami.. Otóz chciałbym zrobic dajmy na to tak:
  1. <?php
  2.  
  3. $sql->select(&#092;"*\", \"teksty\", \"ORDER BY ilosc DESC LIMIT 4\", \"fetch_assoc\");
  4.  
  5. while ($linia = $sql->result){
  6. }
  7.  
  8. ?>

Problem w tym że to jakoś nie działa... Ma ktoś pomysł jak to zrobić albo jak zmienić funkcję by działała...
FiDO
  1. <?php
  2.  
  3. $funkcja = 'mysql_' . $metoda;
  4.  
  5. $funkcja($r);
  6.  
  7. ?>
baraqda
Ehm i co to da?....
Nadal nie moge zrobić pętli while()
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.