![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem, ponieważ chcę zastosować htmlentities do wyświetlania wszystkich pól wyświetlanych za pomocą tablic asocjacyjnych w pdo do tego używam smartów. Chcę by było to odrazu stosowane. Mój kod:
Jednak zwraca to błąd. W czym to tkwi? Treść błędu: Kod Warning: htmlentities() expects parameter 1 to be string, array given in ...
Ten post edytował DonJeday 19.04.2009, 10:41:49 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
htmlentities przyjmuje w parametrze ciąg znaków, a ty dałeś mu tablice (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował Apocalyptiq 19.04.2009, 11:04:29 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
htmlentities przyjmuje w parametrze ciąg znaków, a ty dałeś mu tablice (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
No teraz błędu nie wywala, ale też nic nie wyświetla (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zauważyłeś zupełnie pustą tablice? Masz to w kodzie który podał kolega wyżej...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 15 Dołączył: 2.04.2009 Skąd: koszalin Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie - $row_html jest pusta, a w $row chyba coś tam ma (a to jej elementy w pętli przepisuje do tej pustej).
dla pewności sprawdź sobie czy coś masz w tej tablicy $row (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! Pozdrawiam Ten post edytował kantek 19.04.2009, 11:27:51 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
jak nie używam tej funkcji wszystko działa wiec tablica $row nie jest pusta (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Polecę funkcję array_map zamiast robienia foreacha. Nie wiem jak zmienia prędkość ale chyba czytelniejsze/wygodniejsze.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Ehh nie kumam tego array_map... Jest jakiś normalniejszy sposób żeby zastosować htmlentities
Dodam, że tablica $row nie jest pusta bez htmlentities wszystko śmiga a jak dodam to albo błąd lub nic nie wyświetla |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
$row_html ma byc tablicą? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Tablica row jest tablicą asocjacyjną? Jak tak to skorzystaj z czegoś takiego:
Albo z array_map:
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Tablica row jest tablicą asocjacyjną? Jak tak to skorzystaj z czegoś takiego:
Elegancko działa Ten post edytował DonJeday 20.04.2009, 21:19:24 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Musi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Oczywiście zadziała również z tablicą numerowaną (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
A jak ustawić kodowanie utf-8 dla array_map? bo dla foreach robię to tak:
A jak powinno to wyglądać dla array_map bo w manualu nie mogę znaleść |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak to dokładnie zadziała jakbyś podał zamiast $quotes po prostu ENT_QUOTES, a zamiast $charset 'UTF-8' - w manualu jest tylko o zachowaniu z tablicami. EDIT: Jest jeszcze opcja taka:
Znalezione na manualu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) http://pl.php.net/manual/pl/function.array-map.php Ten post edytował megawebmaster 21.04.2009, 16:30:38 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie działa to kodowanie. Oto kod:
Wszystko co pobierane jest za pomocą tej pętli jest nieodkodowane, pomimo iż w zapytaniu PDO mam komendę "SET NAMES utf8" |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Może w bazie danych jest coś nie tak z tym? Kodowanie złe, albo popsute polskie znaki? Jak jest w utf-8, polskie znaki w bazie powinny być dwuznakowe, zwykle duże A jakieś i znak jakiś (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
W bazie jest wszystko ok, bo polskie znaki są tego typu: Ĺ�
Wykąbinowałem coś takiego, tylko nie wiem co jest nie tak:
Błąd: Kod Warning: htmlentities() expects parameter 1 to be string, array given in ...
Ten post edytował DonJeday 22.04.2009, 17:38:21 |
|
|
![]()
Post
#18
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
I tak to będzie błąd - do array_map, jako kolejne tablice podaje się kolejne parametry funkcji. Ja podawałem jak zrobić z UTF-8, ale widać, coś nie pasowało :]
Problem był w podwójnych nawiasach za przy array_fill - nie zauważyłem tego, pisałem z palca (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) U mnie to działa - specjalnie sprawdziłem. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
No dobra błędu nie ma ale też nic nie wyświetla (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)
Nie wiem co jest czemu nie wyświetla. Po prostu tak jak by niczego nie pobierało. Ten post edytował DonJeday 22.04.2009, 19:22:48 |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Daj w pętli:
Dostaniesz kolejne elementy pobrane przez PDO. Potem posprawdzaj podając jeden taki element do array_map() i zobacz co wyjdzie. Pokombinuj - w tym momencie nie mogę Ci pomóc, bo nie wiem co otrzymujesz w zapytaniu. Jak sprawdziłem dla prostej tablicy, np.
to działało. |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
... to działało. Wyszło printem wszysto to co ma wyjść: Kod Array ( [id] => 2 [description] => Szwagierczak i jego maluch [link] => http://www.youtube.com/watch?v=O9Wckpx9wUg [who] => 2 ) Array ( [id] => 5 [description] => Najlepszy fragment \"Dnia Świra\" [link] => http://www.youtube.com/watch?v=sgTafCVlhA4 [who] => 2 ) Array ( [id] => 12 [description] => ś [link] => ć [who] => 2 ) Array ( [id] => 13 [description] => USPDF 2009 Championship [link] => http://www.youtube.com/watch?v=pWMrfggZzo0 [who] => 2 ) Ale to i tak nie dało mi wskazówki jak rozwiązać tą pętlę z array_map chyba, żeby to zrobić foreach, lecz nie wiem, jak to zastosować w pętli i czy w ogóle można. Ten post edytował DonJeday 22.04.2009, 21:17:08 |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Weź posprawdzaj czy array_fill'e poprawnie generują tablice (też je print'em (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) Na koniec print'em array_mapa sprawdź. Coś gdzieś musi być. Może niepoprawna ilość jest, czy coś. Sprawdzę jeszcze z Twoimi danymi, specjalnie sobie dopiszę funkcję (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
EDIT: Dobra sprawdziłem - array map zwraca tablicę numerowaną, nie asocjacyjną. Kod jakiego użyłem:
Takie wywołanie zwraca: Kod Array ( [0] => Array ( [0] => 2 [1] => Szwagierczak i jego maluch [2] => http://www.youtube.com/watch?v=O9Wckpx9wUg [3] => 2 ) [1] => Array ( [0] => 5 [1] => Najlepszy fragment "Dnia Świra" [2] => http://www.youtube.com/watch?v=sgTafCVlhA4 [3] => 2 ) [2] => Array ( [0] => 12 [1] => ś [2] => ć [3] => 2 ) [3] => Array ( [0] => 13 [1] => USPDF 2009 Championship [2] => http://www.youtube.com/watch?v=pWMrfggZzo0 [3] => 2 ) ) Klasę stworzyłem dla wygody (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Co do foreach'a w pętli - oczywiście, że można. W takim wypadku otrzymasz tablicę asocjacyjną, czyli taką jaką być potrzebował (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował megawebmaster 23.04.2009, 11:28:54 |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
No to tak jak ja zrobiłęm pętlę ale nic nie wyświetla...
Dobra moze to zostawie i zrobię w tym foreach, lecz robie robie i nie wychodzi...
|
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Jak coś to w ten sposób (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Po co 2-krotnie przepisywać dane. BTW. Sprawdzałeś print_r() czy jest coś w $collection? |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Jak coś to w ten sposób (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Po co 2-krotnie przepisywać dane. BTW. Sprawdzałeś print_r() czy jest coś w $collection? Print_r zwraca rekord ale pętla dalej nie działa. Tzn. nie wyświetla rekordów. Dobra teraz dam wszystko co mam moze gdzieś indziej leży problem: TPL np.: Kod {$collection[i].description} PHP:
Już denerwuje mnie to bo 4 dzień to robię (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Ten post edytował DonJeday 23.04.2009, 18:05:10 |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
nie powinno być:
? Moim skromnym zdaniem :] Ten post edytował bim2 23.04.2009, 18:34:33 |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 24.10.2008 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Działa ;* Można zamknąć temat (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Tak nie zadziała? W sumie nie pomyślałem i pominąłem ten jeden poziom (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
No własnie na gg gadaliśmy i nie chciało zadziałać :/ Nie pytaj dlaczego ^^
|
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Pewnie wyrzuca więcej tablic, zresztą ten sposób nie był dla mnie pewny, a po wrzuceniu tutaj tak sobie pomyślałem, że w sumie niepotrzebnie. Głupio, że nie ma nic żeby ładnie mapowało zamiast array_map. A tworzyć własną funkcję to bezsens...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 08:42 |