Autor Zpráva
Vencos
Profil *
Zdravím,

dokáže PHP nějak vyhodnotit velikost tabulky a podle toho zalamovat forum?

Např. Tabulka s forem má 1000px a jakmile vzkazy přesáhnou 1000 poslední vzkaz se přesune na další stránku, a tak pořád dokola.

Je to vůbec nějak jedoduše možné.. nebo vůbec v PHP možné?

Díky za radu zkušenějších
error414
Profil
Vencos
Vetsinou se to nedela prepoctem pixelu ale poctem vzkazu.

Myslim ze to ani v PHP vyresit nejde
Havel-st
Profil *
já vím jen o zalomení na počet znaků s param. 1, teda i v superdlouhém slově
... s proporcionálním fontem to není přesně ono - nestejná šířka znaků
wordwrap( $clanek, 60, "<br>\n", 1);
WertriK
Profil *
Jako mas na mysli strankovani prispevku ?
Ze treba po 10 prispevcich se ukaze na strance odkaz typu "next >"
Havel-st
Profil *
jé já blbě čtu, ty myslíš něco jiného, promiň :-(
Vencos
Profil *
Wetrik

Právě, že né podle počtu příspěvků... to bych zvládl.

Jde o to, že tabulka má určitou velikost a vzkazy bývají různě dlouhé (různé počet řádků) ....

Takže jestli nejde spočítat pomocí PHP, aby script poznal, že když nezalomí vzkazy, bude se "deformovat" tabulka ....
Kajman_
Profil *
Nejde. Php si nevycucá z prstu použitý font a uživatelské definice zobrazení.
error414
Profil
Kajman_
Jedine ze by si napsal virtualni rennderovaci jadro ktere by to vykreslovalo, jen vrtualne, a pocitalo.
mackopu
Profil
IMHO by to šlo tak, že do nějakých proměnných zadáš známou výšku takových nejvyšších prvků jednotlivých příspěvků fóra, které se zobrazují vždy (např. hlavičky příspěvků) - VÝŠKA_1. Pak zjistíš, kolik se ti při dané šířce fóra vejde na řádek nějakých širokých znaků, tímto číslem vydělíš počet znaků jednotlivých příspěvků, výsledné číslo zaokrouhlíš nahoru (počet řádků) a vynásobíš výškou řádku - VÝŠKA_2. Sečteš VÝŠKU_1 a VÝŠKU_2, tím dostaneš výšku jednoho příspěvku.
Zbytek je triviální matamatika: Od výšky tabulky postupně odečítáš poslední příspěvky a zjišťuješ, zda se ti do zbývajícího prostoru vejde další. Pokud ne, přesuneš ho na další stránku pomocí listování (LIMIT x, y).
Toto řešení má ale některé nevýhody:
1. Je pracné
2. Nefunguje pokud si návštěvník např. zvětší font
3. Pokud je první vypisovaný příspěvek sám o sobě vyšší než výška tabulky, skript se zacyklí, protože se bude snažit tento příspěvek stále přesouvat na další stránku až do vypršení timeoutu. To se ale dá ošetřit maximální délkou příspěvku při vkládání.

Nejlepší by asi bylo zavřít fórum ne do tabulky, ale do divu s posuvníkem a nechat na jedné stránce zobrazovat odhadnuté množství příspěvků.
Vencos
Profil *
Díky všem... chtěl jsem se jen ujistit, že to nejde LEHCE. Nikde jsem to totiž nevyštudoval.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0