Autor Zpráva
josa
Profil *
Můžete mi prosím objasnit, jak by se pomocí php a mysql dal udělat nějaký částečný výpis článku? Třeba že se vypíše jen pár vět a po kliknutí na celý článek se zobrazí teprve celý. Vůbec netuším jak něco takového zařídit. Potřebuju aby náhled tvořily celé věty a ne že se oprostřed věty objeví ... .
TSD
Profil
Možná existují sofistikovanější metody, které neznám. Prostě bych si zjistil počet znaků, který se s jistotou ještě "vejde" a pak po vytažení článku do proměnné šel zleva a hledal pozici textu ". " nebo "? " nebo "! " , tzn. konec věty. A až bude pozice větší než můj limit, tak předchozí nalezená pozice je to co mě zajímá.

Samozřejmě to bude nepřesné kvůli proporcionálním fontům (10xpísmeno "I" je něco jiného než 10x "W"), ale to asi neošetříš ničím.
vertigo4
Profil
josa
http://www.rjwebdesign.net/Blog/MYSQL/20070514-Perex-Clanku-Rovnou-Z-M ySQL
josa
Profil *
Díky. Tady je problém ten, že některé věty jsou hrozně dlouhé a tak by to bylo potřeba pokud to tak bude ještě uříznout za nějakým celým slovem.
suky
Profil
josa
Tak si vyber, nejprve chces cele vety a ted potrebujes dlouhe vety uriznout...
orava))
Profil *
Ja by som to robil tak ze v mysql databazi by som si pridal dalsi stlpec a tam ukladal ten nahlad clanku
suky
Profil
orava))
Tak to je hodne neefektivni reseni!
srigi
Profil
Osobne sa mi paci riesenie ako to ma Drupal. V clanku je zapisany tento kod
Bla blabla, text perex.
<!--break-->
A teraz uz ide samotny text clanok.
S pouzitim strpos() a substr() je to uplna hracka vypisat.
TSD
Profil
Já to dělám tak, že už při vkládání mám 2x textarea. Jedna se jmenuje Úvod a druhá Zbytek. A klient je obeznámen s tím, že jde o úvodní a hlavní část článku. V seznamu zobrazuju úvod, po rozkliknutí obojí, lehce graficky odlišeno.

Edit: V databázi jde o dva sloupce.
suky
Profil
TSD
To pak zalezi jak moc user-friendly to ma byt...
orava))
Profil *
TSD
to iste riesenie
majster_sveta
Profil
ja mám počítadlo slov, a s každej položky nechám vypísať 10 slov, potom ... -> to ureže pekne za nejakým slovom a vyzerá to dostatočne dobre
bukaj
Profil
suky
Je důležité uvědomit si, že jenom uživatel, resp. ten, kdo ten článek píše, může vědět, kde se má "zalomit", co má být v perexu a co dále. Počítač nepochopí obsah článku. Tomu, že si počítač myslí, že ví vždy a o hodně lépe, co chci udělat, než to vím já, bych zrovna neříkal uživatelská přívětivost :)

josa
Řešil bych to, jak píší srigi nebo TSD. Samozřejmě, že by bylo možné udělat v případě srigiho řešení nějaké to zkrácení, pokud by <!--break--> nebyl nalezen, ale zalamoval bych po nějakém symsluplném úseku, např. po odstavci, nikoli po slovech či větách.
suky
Profil
bukaj
No to chapu, ale dve textarey bych nevidel jako moc privetivy reseni, spise bych taky souhlasil s srigi, ale ten oddelovac bych si asi upravil napr. [break] v ramci moznosti.
Mastodont
Profil
Pokud použijete dva vstupní prvky, nemusí vlastní článek na perex nijak těsně navazovat - to je IMHO velká výhoda.
TSD
Profil
srigi
To znamená že článek i perex jsou v tabulce v jednom poli?
To by mi nepřipadalo jako vrchol efektivnosti, vytáhnout z databáze při výpisu článků třeba 20 článků krát 3000 znaků, abych z nich použil řekněme prvních 200.
Mastodont
Profil
TSD
Výstup můžeš ořezat přímo v databázi (mySQL - SUBSTRING + LOCATE), v tom by problém nebyl ...
srigi
Profil
TSD >> databaze je IMO jedno ci taha 5byte alebo 10kb. Najtazsie je pre nu tie udaje najst. Takze ak na titulke zobrazujes napr. 15 clankov (ich perexi) je z hladiska zataze DB jedno ci vytiahnes 15x cely clanok, alebo 15x stlpec PEREX.

S udajmi sa uz potom zaobera samotne PHP, tam uz sa o efektivnosti hovorit da. Ale ak mas 10 - 50kb clanky, je to jedno.
TSD
Profil
srigi
To je přesně to co nevím, takže se o tom rád nechám poučit.

Mastodont
To je asi pravda.
P3t4
Profil *
Ja to robim tak ze vypisu prvni odstavec :) ktery vzdy udelam jako uvod :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0