Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z metodą (działa raz, za drugim razem wyrzuca błąd i przerywa skrypt)
Forum PHP.pl > Forum > PHP
creepingdeath
Witam!
Czy ktoś może mi wyjaśnić, dlaczego dostaję następujący błąd oraz w jaki sposób go naprawić? Chcę, aby tematy były grupowane (przykładowo: temat 1,2,3 w grupie pierwsze, 4,6,8 w drugiej, itd.)

Fatal error: Call to a member function fetchGrupa() on a non-object in C:\xampp\htdocs\cms\index.php on line 43

Podaję kod php:

  1. <?php
  2. $i = 1;
  3. while ($i <= $maxTematGrupa[0][0]) {
  4. ?>
  5.  
  6. <div class="temat_tytul">
  7. <?php
  8. $tematyGrupa = $temat->fetchGrupa($i);
  9. foreach ($tematyGrupa as $temat) {
  10.  
  11. $temat_wybrany = $temat['temat_wybrany'];
  12. $temat_wykonany = $temat['temat_wykonany'];
  13. $kolor_tematu = "green";
  14. if (($temat_wybrany AND $temat_wykonany) == 1) {
  15. // $kolor_tematu = "green";
  16. } else {
  17. if (($temat_wybrany == 1) && ($temat_wykonany == 0)) {
  18. $kolor_tematu = "red";
  19. } else {
  20. $kolor_tematu = "white";
  21. }
  22. }
  23. ?>
  24. <li> <a href="temat.php?id=<?php echo $temat['temat_id']; ?>">
  25. <div class="temat_tytul" style="background-color:<?php echo $kolor_tematu; ?>">
  26. <?php echo $temat['temat_tytul']; ?></a>
  27.  
  28. <small>
  29. - Czas umieszczenia: <?php echo date('d.m.y, g:i', $temat['temat_czas_dodania']) ?>
  30. </small>
  31. <?php }
  32. ?>
  33. </div>
  34. </div>
  35.  
  36. </li>
  37. <?php
  38. $i++;
  39. }
  40. ?>


Oraz kod metody z klasy:
  1. public function fetchGrupa($tematGrupa) {
  2. global $pdo;
  3.  
  4. $query = $pdo->prepare("SELECT * FROM tematy where temat_grupa=?");
  5.  
  6. $query->bindValue(1, $tematGrupa);
  7. $query->execute();
  8. return $query->fetchAll();
  9. }

Pyton_000
Wg. tego kodu wcale się to nie wykonuje.
Gdzie jest deklaracja klasy?
Jeżeli faktycznie ten kod się raz wykonuje a potem nie to znaczy że gdzieś jest nadpisywania zmienna $temat
creepingdeath
Problem został rozwiązany poprzez utworzenie nowego obiektu:

  1. $tematyGrupa = $temat1->fetchGrupa($i);
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.