Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP][SMARTY] Pobranie liczby "rows" z bazy mysql
Forum PHP.pl > Forum > Przedszkole
sekim
Witam, potrzebuję na stronie wyświetlić liczbę obiektów noclegowych z bazy.
Wiem, że to teoretycznie proste, ale mam problem z tym zagadnieniem w systemie SMARTY.
Nie mam doświadczenia, jeśli ktoś jest w stanie mi pomóc albo naprowadzić serdecznie dziękuję. Przyjmę krytykę.
pozdrawiam



kod z object.class.php gdzie znajdują się funkcje:

  1. public function getilosc()
  2. {
  3. return $this->sqlCount("*", SQLTABLE_OBJECTS );
  4. }


w ładowaniu modułów header.php

  1. $smarty->assign("ilosc" , $objects->getilosc());



na stronie block-page.smarty gdzie jest wyświetlana:


  1. {$ilosc}


Jeśli coś jest nie jasne albo źle opisane proszę o krytykę.


przykład działającej funkcji ale wyświetlającej dane nie liczącej:

  1. -----------------
  2. public function getpfccocena()
  3. {
  4. return $this->sqlExec("*" , SQLTABLE_OBJECTS_PFCCOCENA , "ORDER BY id");
  5. }
  6.  
  7.  
  8.  
  9.  
  10.  
  11. -----------------
  12. $smarty->assign("objectpfccocena" , $objects->getpfccocena());
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. -----------------
  20. {if ($object.pfccocena)}
  21.  
  22.  
  23. {foreach item=item key=key from=$objectpfccocena}
  24. {foreach item=item2 from=$object.pfccocena}
  25. {if $item2==$item.id}
  26. <img src="{$smarty.const.APP_URL}userfiles/objects/pfcc/{$item.icon}" alt="{$item.name}"/>
  27. {/if}
  28. {/foreach}
  29. {/foreach}
  30.  
  31. {else}
  32. Brak danych
  33. {/if}
nospor
Czemu zakładasz, że Twoim problemem jest smarty? Czemu wpierw nie sprawdzisz, czy w ogóle dane poprawnie odbierasz?

  1. public function getilosc()
  2.  
  3. {
  4.  
  5. $il = $this->sqlCount("*", SQLTABLE_OBJECTS );
  6. echo 'Twoja ilośc, której zapewne nie raczyłeś wcześniej sprawdzić, to:';
  7. var_dump($il);
  8. return $il;
  9.  
  10. }

I co ci wyświetla?
sekim
int(0)

wcześniej po próbach zawsze mi wychodziło "0"

jestem samoukiem także dlatego mam czasami problemy z prostymi rzeczami

nospor
A czy 0 jest oczekiwanym przez Ciebie wynikiem? Nie? No to sam chyba widzisz, że to nie smarty jest problemem.
sekim
rozumiem. czyli problem tkwi w kodzie pobierającym z bazy mysql.
jest bledny i wyswietla 0, czyli po prostu nie podaje tego co trzeba.


SELECT count( * ) as ilosc FROM avatec_objects
taki kod wyświetla mi prawidłowo liczbę w zapytaniu poprzez phpadmin ale zaimpletowac tego do szablonu nie umiem :/
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-2024 Invision Power Services, Inc.