Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Rozmiar zawartosci contenta
Forum PHP.pl > Forum > Przedszkole
Dzyro
Witam, mam pewien problem, do którego nie moge znaleźć odpowiedzi.
Mam strone www, na stronie content (czyli jak wiadomo miejsce z trescia strony) mam ustalony sztywnymi rozmiarami (i chce zeby tak zostało), zawartość contentu pobierana z bazy danych. I chciałbym wiedzieć jakiej funkcji mam użyć do takiego czegoś, że:
funkcja sprawdza czy treść np 3 newsów importowanych do contentu zmieści sie w polu, jesli nie to sprawdza o jeden mniej, i jesli 2 newsy sie zmieszcza to wyswietla na dole link "nastepna strona" i na nastepnej stronie wyswietla sie ten 3 news.
Mam nadzieje ze zrozumiale to wyjasnilem.
Chce poprostu wiedziec jaka jest fukncja do policzenia rozmiaru zawartosci tresci (tekstu, obrazków) w pionie. np ilosc linijek, albo inaczej jesli ktos ma inny pomysl, albo np napisanie tego w innym jezyku (ale niestety tylko znam php, javy nie znam ani ajaxu)
Nie chce np czegos takiego ze wyswietla mi najnowsze wylacznie 2 wg wartosc id w bazie, bo wiadomo ze niektore newsy moga byc o wiele dluzsze, i czasem moze sie zmiescic 1 news a czasem 5.
Prosze o pomoc;) to dla mnie bardzo wazne.
Pozdrawiam
blooregard
Cytat
Chce poprostu wiedziec jaka jest fukncja do policzenia rozmiaru zawartosci tresci (tekstu, obrazków) w pionie. np ilosc linijek, albo inaczej jesli ktos ma inny pomysl, albo np napisanie tego w innym jezyku (ale niestety tylko znam php, javy nie znam ani ajaxu)

Zapoznaj się z funkcjami do obsługi ciągów znaków:
http://pl.php.net/manual/pl/ref.strings.php

Pokaż, co wymyśliłeś do tej pory.


Dzyro
teraz narazie mam prosta funkcje wywolującą newsy z bazy... wyswietlajaca rekord tylko... mam tylko 1 newsa wiec narazie nie problem.. ale nie chce zeby np przy wiekszej ilosci tresci, czesc sie chowala za divem... wiec zanim wystapi ten problem szukam rozwiazania
no i niestety w tym linku nie znalazlem odpowiedzi co mi podales
blooregard
Tam nie było odpowiedzi.

To jest link do manuala języka PHP na stronie php.net, do sekcji zawierającej opisy funkcji do operowania na ciągach znakowych. Ty miałeś tam poszukać tej odpowiedzi.
Dzyro
no to wlasnie szukalem tam odpowiedniej operacji... i nie znalazlem fukcji ktora np liczy ilosc wierszy... tez nie jestem super z angielskiego wiec moze niektore zle zrozumialem... prosze powiedz jaka to funkcja
luck
Ja bym spojrzał na problem z innej strony. Standardowo rozwiązuje się go tak, że sprawdza się długość każdego newsa (np. strlen()) i jeśli jest dłuższa od dozwolonej to skracamy newsa (np. substr()), a pod spodem wyświetlamy link do pełnej treści. W ten sposób zawsze możesz mieć 3 newsy na stronie, bez względu na ich całkowitą długość. Co zrobisz w przypadku, gdy ktoś doda długiego newsa, który cały nie zmieści się w content? Nie wyświetlisz nic?
Dzyro
Cytat(luck @ 27.03.2010, 18:55:30 ) *
Co zrobisz w przypadku, gdy ktoś doda długiego newsa, który cały nie zmieści się w content? Nie wyświetlisz nic?



wlasnie o to mi chodzi.. ze jakby byl jakis super dlugi news, to zeby czesc tresci z tego newsa ktora nie moglaby byc juz wyswietlona przeniesiona zostala na druga podstrone... chce ominac Twoj sposob Luck winksmiley.jpg

no wlasnie.. rozpatrzmy to jako jeeeden dlugi jakis felieton.
Jedna tresc.. i tak dluga ze sie nie miesci, i wlasnie o to mi chodzi ze gdy content ogranicza ja miejscem np 20 linijek , to kolejne linijki zostaja przeniesione na dalsza strone..
mortus
Niestety bardzo ciężko będzie zaimplementować takie rozwiązanie. Trzeba by było policzyć ile znaków zmieści się w div-ie content (oczywiście musimy pamiętać o stylach line-height, font-size, ewentualnych marginesach i dopełnieniach np. przy wpisywaniu nowego akapitu, interlinii itp., musimy uwzględnić formatowanie tytułu news'a i informacji dodatkowych, jak nazwa autora). Teoretycznie nie możliwe. Możemy natomiast z góry założyć, że maksymalnie zmieści się powiedzmy 30 linii o długości np. 400 znaków, i wtedy dzielić treść dodając stronicowanie.
Dzyro
to ma ktos jakis pomysl?
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.