Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmienna nazwa zwracanej wartości
Wieloryb
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.12.2007
Skąd: Radom

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


A więć, mam sobie taką prostą funkcję
  1. public function sql($q) {
  2. $this->res = mysql_query ($q);
  3. return $this->res;
  4. }


tylko teraz, zalozmy ze w skrypcie chcialbym wywolac w petli inne zapytanie z petla czyli
  1. $s->sql("zapytanie");
  2.  
  3. while($row = my..fe..as($s->res)) {
  4.  
  5. $s->sql("zapytanie2");
  6.  
  7. while($row = my..fe..as($s->res)) {
  8.  
  9. }
  10. }


To 2 wyniki z SQLa myli i sie gubi. Chcialem dodac identyfikacje do zapytania czyli
  1. public function sql($q, $id="") {
  2.  
  3. $this->res.$id = mysql_query ($q);
  4.  
  5. return $this->res.$id;
  6. }


i przy wywolywaniu odpowiednio to nazywac sobie np
  1. $s->sql("zapytanie", 1);
  2.  
  3. while($row = my..fe..as($s->res1)) {
  4.  
  5. $s->sql("zapytanie2", 2);
  6.  
  7. while($row = my..fe..as($s->res2)) {
  8.  
  9. }
  10. }


Ale dostaje blad
Cytat
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /users/modasu/htdocs/_sites/pg3/class/class.sites.php on line 12


Czy mój pomysł jest w ogóle dobry i ma sens ? Co jest nie tak ?

Z góry dzieki
Pozdrawiam

Ten post edytował Wieloryb 22.04.2010, 20:58:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mdco
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 5
Dołączył: 14.12.2004

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


parameter id jest nie potrzebny, problem masz w sekwencji:
  1. while($row = my..fe..as($s->res)) {
  2. $s->sql("zapytanie2");
  3. while($row = my..fe..as($s->res)) {
  4. }
  5. }


zmienną $row z pierwszego zapytania nadpisujesz zmienną $row z drugiego zapytania, poza tym nadpisujesz sobie zmienną $s->res w podpętli,
na mój gust powinno to wyglądać tak:

  1.  
  2. class S {
  3. public var $res;
  4. public __construct() {
  5. //......
  6. }
  7. public function sql($q) {
  8. $this->res = mysql_query ($q);
  9. }
  10.  
  11. }
  12.  
  13. $s = new S();
  14. $s->sql("zapytanie1");
  15. while($row1 = my..fe..as($s->res)) {
  16. $s = new S();
  17. $s->sql("zapytanie2");
  18. while($row2 = my..fe..as($s->res)) {
  19. }
  20. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 23:20