Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z modyfikacją skryptu. Tym razem nie Parser Error ..
Forum PHP.pl > Forum > Przedszkole
smrodek11
Tamte błędy zostały zażegnane i proszę kogoś o pomoc przy dalszej modyfikacji kodu
Przypomne że oryinalny plik wyglądał tak:
  1. <?php
  2.  
  3. class page_surf implements proCMS_page
  4. {
  5. public function Render()
  6. {
  7. global $cms, $config;
  8. $surf_boxes = array();
  9. $error = '';
  10. $points = 0;
  11.  
  12. $cms -> lang -> load('earning');
  13.  
  14. if(($cms -> userData['user_last_surf'] + 4) < time())
  15. {
  16. $cms -> db -> query("SELECT * FROM pro_surf_campaigns WHERE scamp_enabled = 1 AND scamp_views < scamp_bought_views ORDER BY Rand() LIMIT 4");
  17. if($cms -> db -> num_rows() < 1)
  18. {
  19. $error = 'Nie ma żadnych kampani do wyświetlenia.';
  20. }
  21. while($row = $cms -> db -> fetch())
  22. {
  23. $surf_boxes[] = $row;
  24. }
  25. $cms -> tpl -> add_loop('earning/surf', 'boxes', $surf_boxes);
  26.  
  27. $this -> content = $cms -> tpl -> render('earning/surf', array('pkt' => '',
  28. 'error' => $error));
  29.  
  30. foreach($surf_boxes as $box)
  31. {
  32. $cms -> db -> query("UPDATE `pro_surf_campaigns` SET `scamp_views` = `scamp_views` + 1 WHERE `scamp_id` = {$box['scamp_id']}");
  33. $points++;
  34. }
  35. if($points > 0) $points = 1;
  36. $cms -> db -> query("UPDATE `pro_users` SET `user_last_surf` = '".time()."', `user_points` = `user_points` + {$points} WHERE `user_id` = {$cms -> userData['user_id']}");
  37. }
  38. else
  39. {
  40. $cms -> tpl -> add_loop('earning/surf', 'boxes', $surf_boxes);
  41.  
  42. $error = 'Nie upłynął wystarczający czas od ostatniego surfa.';
  43.  
  44. $this -> content = $cms -> tpl -> render('earning/surf', array('pkt' => '',
  45. 'error' => $error));
  46. }
  47.  
  48. return $this -> content;
  49. }
  50. }
  51.  
  52. ?>


Teraz jest tak:
  1. <?php ob_start();
  2.  
  3. include("config.php");
  4.  
  5. $surf_boxes = array();
  6. $error = '';
  7. $points = 0;
  8. $sprawdzenie = mysql_fetch_array(mysql_query("SELECT * FROM pro_surf_campaigns WHERE scamp_enabled = 1 AND scamp_views < scamp_bought_views ORDER BY Rand() LIMIT 4"));
  9. $aktualizacja = mysql_query("UPDATE `pro_surf_campaigns` SET `scamp_views` = `scamp_views` + 1 WHERE `scamp_id` = {$box['scamp_id']}");
  10. $userLastSurf = mysql_query("SELECT user_last_surf FROM pro_users WHERE user_login = '$nick'");
  11. $dodajpkt = mysql_query("UPDATE `pro_users` SET `user_last_surf` = '".time()."', `user_points` = `user_points` + {$points} WHERE `user_login` = '{$nick}");
  12.  
  13.  
  14.  
  15. if(($userLastSurf + 4) < time())
  16. {
  17.  
  18. if($sprawdzenie < 1)
  19. {
  20. $error = 'Nie ma żadnych kampani do wyświetlenia.';
  21. }
  22. while($row = fetch())
  23. {
  24. $surf_boxes[] = $row;
  25. }
  26. add_loop('templates/default/earning/surf', 'boxes', $surf_boxes);
  27.  
  28. $this -> content = render('templates/default/earning/surf', array('pkt' => '',
  29. 'error' => $error));
  30.  
  31. foreach($surf_boxes as $box)
  32. {
  33. $aktualizacja;
  34. $points++;
  35. }
  36. if($points > 0) $points = 1;
  37. $dodajpkt;
  38. }
  39. else
  40. {
  41.  
  42. $error = 'Nie upłynął wystarczający czas od ostatniego surfa.';
  43.  
  44. }
  45.  
  46. return $this -> content;
  47.  
  48.  
  49. ?>


Błąd obecny: Fatal error: Call to undefined function fetch() in /home/wooops/domains/wooops.eu/public_html/gp/modules/earning/surf.page2.php on line 22
while($row = $cms -> db -> fetch()) zmieniłem na while($row = fetch()) ponieważ $cms -> db oznaczało łączenie z bazą
korex
Kod
while($row = $cms -> db -> fetch())

porownaj z Twoja 22 linią
Kod
while($row = fetch())
nospor
Kasujesz bez pomyślinku $cms->db i liczysz ze a nuz się poszczęści i zadziała?
Komunikat błędu wyraźnie ci mowi, że nie ma funkcji fetch()...

Jest za to mysql_fetch_array którą notabene już używasz w swoim skrypcie. No myśl troszkę nad kodem, który piszesz.

ps: zanim jednak bezmyślnie wklepiesz tam mysql_fetch_array to zajrzyj wpierw do manuala i zobacz jakiego argumentu on wymaga.
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.