Nie działające stronicowanie


(Darom82) #1

Na mojej stronce zrobione mam stronicowanie wpisów (newsów), jest ono na dole strony. Jednak gdy dziś dodalem kolejny news to wyswietla mi strony tak:

1

2

A chcialbym, zeby strony wyswietlalo mi tak, jak mam tutaj zriobione stronicowanie przy ksiedze gosci: http://www.history.is.net.pl/index.php?ksiega=&mpage=1Kod mojego stronicowania wyglada tak:

<?php

error_reporting(E_ALL);

$template = 'plik.txt';

$fd = fopen($template,"r");

$message = @fread($fd, filesize($template));


$piece=explode("$$$",$message);


function cut_comment($str,$ile) {

$count = str_word_count($str);

if ($count >$ile) {

$body = explode(" ", $str);

$str = $body['0']." ";

for ($n=1; $n < $ile-1; $n++) {

if( isset($body[$n]) ) $str .= $body[$n]." ";

}

$str .= "";

}

else {

$str = $str;

}

return $str;

}


$skroc = 109;

$ile = count ($piece);


if(isset($_GET['strona'])) $strona=$_GET['strona']; else $strona=1;

for ( $i = ($strona*3)-3; $i < $strona*3; $i++){

if(isset($piece[$i])){

echo cut_comment($piece[$i],$skroc).'

[więcej..](?news&id='.%24i.')

'; } } fclose($fd); $liczstr=ceil(count($piece)/3); for( $x = 1; $x <= $liczstr; $x++ ) { echo '

['.$x.'](index.php?page='.%24x.')

'; } ?>[/code]

U mnie na stronce wyglada to tak: http://www.history.is.net.pl/index.php?historia

I dodatkowo wcielo mi jedengo newsa gdzies, Poniewaz mam 4 wpisy na stronie a wyswietla mi tylko 3

Prosze o pomoc w tej sprawie :frowning:


(Grzelix) #2

Ostatnie linijki tj:

$liczstr=ceil(count($piece)/3);

for( $x = 1; $x <= $liczstr; $x++ ) {

echo '

['.$x.'](index.php?page='.%24x.')

'; } [/code] zamień na
[code] $liczstr=ceil(count($piece)/3); echo '

'; for( $x = 1; $x <= $liczstr; $x++ ) { echo '['.$x.'](index.php?page='.%24x.')'; } echo '

';


(Darom82) #3

grzelix powiedzmy, ze dziala. Tylko ze nie wyswietla kolejnych newsow juz :frowning: Tak samo nie wyswietla mi newsa, ktorego dodalem 30 pazdziernika 2010 roku :frowning: Nie wiem czemu, ale powinien on byc :frowning: Sa 4 newsy a pokazuje tylko 3.


(Grzelix) #4

jeden błąd jaki zauważyłem tj

masz GET['strona']

a w linku &page=

więc zdecyduj się strona czy page.


(Darom82) #5

grzelix ok działa teraz, ale jeszcze jedno prosze Cie, jak zrobic zeby mi dana strone 1 czy 2 lub kolejną przeglądana pogrubialo ? (mam nadzieje ze wiesz o co mi chodzi) Tu np. strone 4 mi pogrubia: http://www.history.is.net.pl/?ksiega=&mpage=4

A jak to zrobic przy newsach ?


(Grzelix) #6
$liczstr=ceil(count($piece)/3);

echo '

'; for( $x = 1; $x <= $liczstr; $x++ ) { if($strona == $x) echo '['.$x.'](index.php?page='.%24x.')'; else echo '['.$x.'](index.php?page='.%24x.')'; } echo '

'; [/code]

klasę actual masz podaną na tej stronie z pogrubionym stronicowaniem, ale jak nie będzie działąć to daj tam poprustu jakiś pogrubiający style i tyle.


(Darom82) #7

grzelix nie pogrubia mi stronicowania znaczy cyferki aktualnie przegladanej strony i nie wiem jakby to zrobic z tym pogrubiajacym style a niechce czegos zepsuc. Jesli wiesz to prosze pomoz mi. http://www.history.is.net.pl/index.php?page=1


(Damgora) #8

bo nie opisałeś tego w stylach!

swoją drogą chyba lepiej użyć id zamiast klasy i span w sumie też nie jest potrzebny np.

if($strona == $x)    echo '.$x.'"'.$x.'';

(Grzelix) #9
'.$x.' [/code]

(Darom82) #10

grzelix zrobilem tak:

if($strona == $x)


echo ' '.$x.' ';

else

echo ' '.$x.' ';[/code]

Ale gdy jestem na tej stronie: http://www.history.is.net.pl/index.php?page=2 to widac ze pogrubia mi jedynke, a powinno pogrubiac cyferke 2

Natomiast gdy jestem na tej stronie: http://www.history.is.net.pl/index.php?page=1 to widac pogrubiona dwojke, a powinno pogrubiac cyferke 1


(Damgora) #11

(Grzelix) #12

napisałeś że nie masz zdefiniowanej klasy actual i żebym zdefiniował przykładowy styl pogrubiający to ci dałem taki najprostszy.

forum nie jest od tego żeby za kogoś rozwiązywać problemy tylko że pomagać w rozwiązywaniu. Inaczej niczego się nie nauczysz i ciągle będziesz prosił o pomoc

spójrz na ten kaweł kodu i zastanów się co on robi co ten warunek if sprawdza. Masz już wszystkie puzzle tej układanki więc wysil też swoje szare komórki i rozwiąż to.

pozdrawiam


(Darom82) #13

a czy tak byloby dobrze?

if($strona == $x)


echo ' '.$x.' ';

else

echo ' '.$x.' ';[/code]

(Grzelix) #14

wystarczy tyle:

if($strona == $x)


echo ' '.$x.' ';

else

echo ' '.$x.' ';

[/code]