Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z wyświetlaniem wyników
szczurek
post 23.10.2006, 21:35:47
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 1.10.2006
Skąd: Bydgoszcz

Ostrzeżenie: (10%)
X----


Mam w klasie taką funkcję:

  1. <?php
  2. public function GetArchMonths()
  3.  {
  4. $koncowa=array();
  5.  $sql="SELECT DISTINCT CONCAT(MONTH(DataDodaniaNewsa), '-', YEAR(DataDodaniaNewsa)) AS Data FROM Newsy WHERE CONCAT(MONTH(DataDodaniaNewsa),'-',YEAR(DataDodaniaNewsa)) <> CONCAT(MONTH(NOW()), '-', YEAR(NOW()))";
  6.  
  7. $select=DataBase::select($sql);
  8. $mies_licz=array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
  9. $mies_slo=array("Stycze�", "Luty", "Marzec", "Kwiecie�", "Maj", "Czerwiec", "Lipiec", "Sierpie�", "Wrzesie�", "Pa�dziernik", "Listopad", "Grudzie�");
  10.  
  11. foreach($select as $selected)
  12. {
  13. $obciete=str_replace($rok=substr($selected['Data'], -5, 5), '', $selected['Data'] );
  14.  
  15. $zamiana=str_replace($mies_licz, $mies_slo, $obciete);
  16.  $koncowa[]=$zamiana.str_replace('-', ' ', $rok);
  17.  
  18. }
  19. return $koncowa;
  20.  }
  21. ?>


jeśli każę wyświetlać już w funkcji

  1. <?php
  2. FROM Newsy WHERE CONCAT(MONTH(DataDodaniaNewsa),'-',YEAR(DataDodaniaNewsa)) <> CONCAT(MONTH(NOW()), '-', YEAR(NOW()))";
  3.  
  4. $select=DataBase::select($sql);
  5. $mies_licz=array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
  6. $mies_slo=array("Stycze&#65533;", "Luty", "Marzec", "Kwiecie�", "Maj", "Czerwiec", "Lipiec", "Sierpie�", "Wrzesie�", "Pa�dziernik", "Listopad", "Grudzie�");
  7.  
  8. foreach($select as $selected)
  9. {
  10. $obciete=str_replace($rok=substr($selected['Data'], -5, 5), '', $selected['Data'] );
  11.  
  12. $zamiana=str_replace($mies_licz, $mies_slo, $obciete);
  13.  echo $koncowa[]=$zamiana.str_replace('-', ' ', $rok);
  14.  
  15. }
  16. ?>

To wyświetla tak jak chcę.

A jeśli jest tak jak w pierwszym kodzie i później w pliku daję tak:

  1. <?php
  2. try{
  3. $News= new News();
  4. $miesiace=$News->GetArchMonths();
  5.  
  6. }catch(exception $e)
  7. {
  8. die($e->getMessage());
  9. }
  10. foreach($miesiace as $miesiac)
  11. {
  12. echo $miesiac['Data'];
  13. }
  14. ?>

Wyświetla mi tylko pierwszą literę z każdego elementu tablicy.
Nie bardzo rozumiem dlaczego.

A zadaniem tej funcji jest wyświetlenie listy miesięcy z których istnieją newsy.


--------------------
"Nie masz żadnej szansy, ale ją wykorzystaj" Arthur Schopenhauer
wiersze
Go to the top of the page
+Quote Post
szuset
post 23.10.2006, 22:31:48
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 16.10.2006

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


Cytat(szczurek @ 23.10.2006, 22:35:47 ) *
echo $miesiac['Data'];


A tu nie powinno być przypadkiem
echo $miesiac;
Go to the top of the page
+Quote Post
szczurek
post 24.10.2006, 13:54:55
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 1.10.2006
Skąd: Bydgoszcz

Ostrzeżenie: (10%)
X----


Dzięki, głupio mi strasznie bo jakoś uparłem się na tą datę sam nie wiem dlaczego.

Ten post edytował szczurek 24.10.2006, 17:48:55


--------------------
"Nie masz żadnej szansy, ale ją wykorzystaj" Arthur Schopenhauer
wiersze
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 - 14:41