![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 7.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Sprawa jest nastepujaca... mam spora ilosc artykulow w postaci plikow html.... dodatkowo sa one dlugie i zawieraja obrazki....
Moje pytanie brzmi : czy lepiej wrzucic te artykuly do bazy i wyciagac je z bazy i dzielic na strony? czy lepiej otwierac dany plik i wyciagac okreslona ilosc linii i w ten sposob stronicowac? .... tyle ze ponizszy kod nie gwarantuje tej samej ilosci linii ... sprawdzilem i roznie to wyglada moze to sprawa grafiki ktora liczona jest inaczej? oto kod: CODE $uchwyt = fopen($id,'r'); while(!feof($uchwyt)){ $linia = rtrim(fgets($uchwyt)); $licznik++; if($licznik>0 && $licznik<=15){ $tabliczka[] = $linia; print $linia; } } fclose($uchwyt); druga sprawa jak zrobic stronicowanie w zaistnialej sytuacji? skonstrowałem taki kod
i wszystko dziala dopoki dzielony plik nie jest html bo wtedy split dzieli kazdy nawias..... czy ktos ma pomysl na rozwiazanie tego problemu. Ten post edytował trylas 5.02.2009, 14:04:08 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
A nie możesz tego podzielić w ten sposób, że jeden plik = jedna strona? Będzie łatwiej i szybciej - inaczej nigdy nie będzie równo - no i po linijkach czy słowach jest bez sensu, bo co, gdy utnie w połowie zdania? Lepiej już po akapitach - trzeba policzyć akapity oraz znaki/słowa/linijki (najszybciej będzie chyba linijki) - wyświetlać np. nie więcej niż 1500 znaków na stronę zaokrąglając do najbliższego akapitu.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 7.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
prosze o pomoc.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Może wstaw do treści artykułów znacznik w stylu #PART# i rób split na nim.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 7.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
ano faktycznie good idea ... ale jeszcze problem ze spacjami tez widzi je i umieszcza ... zna ktos jakis hokus pokus na to?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Kto widzi?
Gdzie umieszcza? ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 7.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
tzn ... musze wyrzucic wszystkie spacje z dokumentu html (nawet te ktore formatuja kod dla lepszej czytelności) bo inaczej wyswietla mi je jako ... link (indeks z tablicy) .... moze to byc blad w kodzie bo pisalem to sam ... a doswiadczenie mam srednie wiec moglem cos zapetlic..... z drugiej strony testowalem to na pieciu indexach tablicy(slowach) i funkcjonowalo ...... nie wiem czy jasno sie wyrazilem
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Niezupełnie jasno. Pokaż przykład nieporządanych objawów i wklej kod, który jest za nie odpowiedzialny. Wtedy będziemy mogli pomóc lepiej.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 7.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
CODE $id = isset( $_GET['id'] ) ? $_GET['id'] : 0; $nazwa = $id; $id = 'calinews/'.$id.'.html'; $uchwyt = @fopen ("$id", "r"); if ($uchwyt) { while (!feof($uchwyt)) { $buffer = fgets($uchwyt); $array = split('#PART#', $buffer); $elems = count($array); $na_stronie = "1" ; $start = $_GET['start'] ; if( !isset($start) ) { $start = "0"; } $ta_strona = $start / $na_stronie + 1 ; $start_podstrony = "0"; $podstrona = "1"; print '<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tresc">'; print '<tr>'; print '<td>'; print $array[$start]; print '<br><br>'; print '<table width="100%" border="0" cellspacing="0" cellpadding="0">'; print '<tr>'; print '<td align="center">'; if( $start > 0 ) { $start_poprzedniej = $start - 1; print '<a href="artykul.php?id='.$nazwa.'&start=' . $start_poprzedniej . '"><< Poprzednia</a>' ; } while ( $start_podstrony < $elems ) { if( $podstrona == $ta_strona ) { print' [ <a href="artykul.php?id='.$nazwa.'&start='.$start_podstrony.'"><b>' . $podstrona . '</b></a> ] ' ; } else { print ' [ <a href="artykul.php?id='.$nazwa.'&start=' . $start_podstrony . '">' . $podstrona . '</a> ] ' ; } $start_podstrony = $start_podstrony + $na_stronie ; ++$podstrona; } if( $start < $elems-1) { $start_nastepnej = $start + 1; print '<a href="artykul.php?id='.$nazwa.'&start=' . $start_nastepnej . '">Następna>></a>' ; print '</td></tr></table>'; OKS wszystko funkcjonuje i oparte jest na skrypcie Jessie Jamesa http://www.jessie.ovh.org/test/stronicowanie.php jest tylko jeden minus tego .... zaciagany plik html i dzielony nie moze zawierac białych znaków bo wtedy ... te białe znaki zapisywane sa do tablicy po indeksem "0" .... nie mam pojecia jak to rozwiazac.... tak wiec poki co wszystkie zaciagane pliki przerobilem jako kod html bez spacji(bialych znakow). moze ktos wie jak to rozwiazac, zeby bylo normalnie i mozna bylo sformatowac kod dla wiekszej czytelnosci.... |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Nie rozumiem, jakie białe znaki? Graniczne białe znaki (na końcu/początku) możesz usunąć funkcją trim(), ale chyba nie o to ci chodzi. Mógłbyś podać linka, żeby można było zobaczyć jak to aktualnie działa i co nie działa ok? Albo ew. tu na forum treść strony, na której jest błąd z tymi spacjami.
-------------------- http://estender.net - profesjonalne strony i aplikacje internetowe (Ruby on Rails, Kohana PHP)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.07.2025 - 05:16 |