ugrás a tartalomhoz

Oldalakra bontáss

monghuz · 2005. Már. 9. (Sze), 17.10
Hali!

A már sokat emlegetett lapózós résszeé kapcsolatban akadtam el egy kicsit.
Az nem volt valami nagy probléma hogy pl: a képgalériában tudjak lapozni a béjegképek közt, viszont felvetődött a kérdés, hogy ha egy cikket akarok ilyen módon szétarabolni, azt hogy tegyem.

Vagyis hogyan daraboljam a MySql-ben tárolt szöveget, hogy mondjuk mondatokat ne vágjon félbe, viszont beleférjen egy pl: 300*400 px-es keretbe a szöveg, majd ha rábökök hogy lépjen a második oldalra, akkor onan folytasa ahonan kell.
A helpet előre is köszi...

hali: Tomi
 
1

Bontás

Poetro · 2005. Már. 9. (Sze), 17.43
Mindenképpen sortörésnél bontanám oldalakra. Ha sima szöveg és van benne \n\n, akkor ott, ha html, akkor <p>-előtt.
Persze úgy érdemes csinálni:
Veszel egy karakterszámot, mondjuk 1000, és ezen felül keresel ilyen mintát. Ha megvan, akkor beszúrsz vmi spec karakter, vagy karaktersorozatot pl: <!-- break -->, és máris tudod, hogy ott van az oldaltörés.
Érdemes, már ha lehetséges, akkor az egész adatbásion végrehajtani ezt, és eltárolni, hány ilyen törés volt benne, hogy későbbiekben felgyorsítsd a folyamatot.
Azt is lehet, hogy a későbbi cikkeknél eleve adsz lehetőséget az oldalra törésre, és a szerkesztő meg tudja mondani, hogy akkor itt legyen oldaltörés.
--------
Poetro
2

csak otlet: erdemes lenne

Anonymous · 2005. Már. 9. (Sze), 19.26
csak otlet:
erdemes lenne eleve ugy kialakitani az adatbazist, hogy egy rekordban ne a teljes cikket, hanem csak annak egy oldalat tarolja. E nelkul kenytelen leszel minden kiolvasasnal darabolni a szoveget. Ezt megtehted a mysql SUBSTRING fgv -eivel, vagy php -vel.
Beteheted a session -be az egesz cikket, és csak a megfelelo reszt adod ki az egyes oldalakon. Ennek elonye, hogy csak egyszer kell lekerni az adatokat a mysql -bol.
Szerver oldali cache -elessel sokat javithatsz a teljesitmenyen.

bongyi
3

THX

monghuz · 2005. Már. 9. (Sze), 19.56
Köszi az ötleteket, majd kipróbálom és ha valami épkézlább dolog születik belőle, akkor berakom ide :)

bye: Tomi