Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z metodą (działa raz, za drugim razem wyrzuca błąd i przerywa skrypt), Fatal error: Call to a member function fetchGrupa() on a non-object
creepingdeath
post 1.02.2015, 22:53:24
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 24.12.2014

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


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. }

Go to the top of the page
+Quote Post
Pyton_000
post 1.02.2015, 23:00:19
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


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
Go to the top of the page
+Quote Post
creepingdeath
post 1.02.2015, 23:41:22
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 24.12.2014

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


Problem został rozwiązany poprzez utworzenie nowego obiektu:

  1. $tematyGrupa = $temat1->fetchGrupa($i);
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 01:25